zoukankan      html  css  js  c++  java
  • JSP和Servlet相互传递数据方式

    转载:https://blog.csdn.net/zeephom/article/details/79607173

    jsp向servlet传值大致有这么几种情况。
    1.1第一种超链接,在href='servletAction?id=xxx'

    1.2第二种form表单提交,当点击submit时,action="servletAction" method='get/post'//注意这个可是要按提交按钮的
    1.3第三种就是利用ajax,url='servletActionz',当然了,这里也有get和post两种情况,get直接在url后面加问号传参,post会把参数放在实体内容里面。
    2.最后在servlet那边 用 request.getParameter("参数名");就可以拿到了

    
    
    

    Jsp与Servlet之间的传值有两种,一种是Jsp传值给Sevlet,另一种是Servlet传值给Jsp;使用request、response对象完成传值,具体实现如下:

    1.JSP传值给Servlet

    JSP传值给Servlet有几种形式:Form表单传值,url传值,其他方式传值

    a、form表单传值:

    JSP页面有:<input type="radio" name="staffdepartment" value="1" id="department1" />,将department的id传到Sevlet

    中,在程序中如下:ServletRequest request;String staffdepartment=request.getParameter("staffdepartment");可获取jsp传的department,但要获取id还要进行转化:int int_staffdepartment=Integer.parseInt(staffdepartment);

    b、url传值

    比如这里的 <a>标签的 href属性与 <form>标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样用 request.getParameter("action")获取;

    c、java代码传值

    java片段代码,servlet只能接到 session.setAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 request.getSession().getAttribute("testSession")获取 session内容。

    2.Servlet传值给Jsp

    具体实现如下:

    java代码:String   a= "abccdefg "; 
                 request.setAttribute( "ValueA ",a); 
                 request.getRequestDispatcher( "网址/jsp页面 ").forward(request,response); 

    jsp页面:

    <%

    String   s   =(String)request.getAttribute( "ValueA ");

    %>

    jsp页面就可以取出Servlet的值。

    3.从servlet到jsp的方法

    从 servlet转到 jsp不外乎两种方法,重定向 和 url转发

    a、重定向 ( Redirect):是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在servlet里给 request对象使用setAttribute方法传给下一页面。在 servlet里使用 response.sendRedirect(url) 方法。注意这里的 url前不带斜线 /,如 response.sendRedirect(”test.jsp“)

    b、url转发 ( Forward):是页面的跳转,页面内容发生改变,url不变。可以带 request和 session参数。在 servlet里使用 getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。而这里的url前需要带斜线 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)

    4、从jsp到servlet的方法

    a、表单:post方法提交表单

    b、链接:url方式(带参数)

  • 相关阅读:
    《人类简史》八、融合统一(下)——宗教的法则、历史的混沌
    《今日简史》七、融合统一(中)——帝国的愿景
    《人类简史》六、融合统一(上)——历史的方向、金钱的味道
    《人类简史》五、监狱高墙——想象构建的秩序
    设计模式之职责链模式(Chain of Responsibility)
    设计模式之代理模式(Proxy)
    设计模式之享元模式(FlyWeight)
    设计模式之外观模式(Facade)
    设计模式之装饰模式(Decorator)
    设计模式之组合模式(Composite)
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12334019.html
Copyright © 2011-2022 走看看