jsp、servlet参数传递

1、jsp向servlet传递值的方式:

request对象,session对象,url,form表单

  1.   <body>  
  2.         <%  
  3.         session.setAttribute("testSession","Hello session");  
  4.         request.setAttribute("testRequest","Hello request");  
  5.         %>  
  6.         <a href="http://localhost:8080/test/jsp2servlet?hrefAction=toServlet">单击此处</a>  
  7.         <form action="jsp2servlet?action=toServlet" method="post" name="form1">  
  8.             <input type="text" name="username"/>  
  9.             <input type="submit" value="submit"/>  
  10. .         </form>  
  11. .     </body>  

Jsp2servlet.java

      

  1.         String strSession = (String)request.getSession().getAttribute("testSession");         
  2.         String strRequest = (String)request.getAttribute("testRequest");          
  3.         String strHref = request.getParameter("hrefAction");          
  4.         String strForm = request.getParameter("action");          
  5.         String username = request.getParameter("username");  

 

 

2、Servlet向jsp传值:

 Request对象,session对象,URL

  1.         String url = "result.jsp?first=传递第一个参数&second=传递第二个参数";  
  2.         String strRequest = "request传值";  
  3.         String strSession = "session传值";  
  4.         request.setAttribute("strRequest", strRequest);  
  5.         request.getSession().setAttribute("strSession", strSession);  
  6.           
  7.         /** 
  8.          * 客户端跳转:效率低 
  9.          * session范围属性,url中的参数会传递下去,request范围属性不传递 
  10.           */  
  11. .         //response.sendRedirect(url);  
  12.          
  13. .         /** 
  14.          * 服务器端跳转:常用,效率高 
  15.          * request范围属性,session范围属性,url中的参数会传递 
  16.         */  
  17. .         request.getRequestDispatcher(url).forward(request, response); //url必须指定需要提交到哪个页面 

result.jsp

 

  1.  <body>  
  2.         <%  
  3.         String strURL = request.getParameter("first");  //得到的是(传递的第一个参数)
  4.         String strRequest = (String)request.getAttribute("strRequest");  
  5.         String strSession = (String)request.getSession().getAttribute("strSession");  
  6.           
  7.         %>  

 

3、从一个servlet到另一个servlet时的参数传递

   (1)通过超链接和表单传递数据

  1. /** 
  2.          * 超链接 
  3.          */  
  4.         out.println("<a href='ServletB?name="+name+"'>this is a test</a>");  
  5.         /** 
  6.          * 表单 
  7.          */  
  8.         out.println("<form action='ServletB' method='post'>");          
  9.         out.println("用户名:");  
  10.          out.println("<input type='text' name='username'>");  
  11. .         out.println("<input type='submit' vlue='提交'>");  
  12.          out.println("</form>");  
  13.          out.println("</body>");  
  14.         out.println("</html>");  

接收的servlet

  1.          String name = request.getParameter("name");  
  2.         String username = request.getParameter("username");  
  3.   

        

 (2)使用setAttribute()和getAttribute()方法传递参数

  1.    String data = "This is a test, we need more test for this";  
  2.         request.setAttribute("strAtt", data);  
  3.         request.getRequestDispatcher("/ServletB").forward(request, response);  

ServletB.java

  String strAtt = (String)request.getAttribute("strAtt");  

4、从一个jsp页面跳转到另一个jsp页面时的参数传递(都需要使用from表单指定传递到哪个页面)

   (1)使用request对象获取客户端提交的信息

 (2)使用session对象获取从客户端提交的信息

    (3)利用隐藏域传递数据

  1. <!-- 隐藏字段,系统时间,并转换为毫秒数 -->  
  2.    <input type="hidden" name="time" value="<%=new java.util.Date()%>">  
posted @ 2017-09-07 15:48  爪哇充电站  阅读(262)  评论(0编辑  收藏  举报