机器学习和生物信息学实验室联盟

标题: JSP传值给servlet,servlet传值给JSP [打印本页]

作者: xmubingo    时间: 2011-8-9 14:16
标题: JSP传值给servlet,servlet传值给JSP
关于JSP传值给servlet大家都很清楚。下面主要讲servlet怎么传值给JSP

先给代码,再做分析

服务器servlet端
  1. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2.                 ....
  3.                 String say = "i know you";
  4.                 request.setAttribute( "str",say);
  5.                 request.getRequestDispatcher("result.jsp").forward(request,response);
  6.                 ....
  7. }
复制代码
第一行定义了一个字符串say,第二行添加属性为“str”的值为say,第三行将值传递给result.jsp页面。

客户端JSP页面
  1. ...
  2. <textarea cols="97" rows="25" style="font-family:Arial, Helvetica, sans-serif; font-size:13px">Prediction Result
  3. ---------------------------------------------
  4. <%
  5. String str = (String)request.getAttribute("str");
  6. %>
  7. <%= str%>
  8. </textarea>
  9. ...
复制代码
利用getAttribute来接收属性str的值,然后将他输出到textarea中。


当然,平时,大家可能直接用
  1. PrintWriter out = response.getWriter();
  2. out.println("i know you");
复制代码
也可以输出这行字,或者还可以在out.println中加入html标签,但是这样大大增加的直接传输的代价,也造成不稳定。
作者: zouquan    时间: 2011-8-9 18:57
赞啊,好好学习之
作者: wangjingjing    时间: 2014-8-26 15:18
中文传参的一大问题就是乱码。为编码为UTF-8的JSP页面传参,对于中文乱码的解决分为两种情况:
1. 通过GET方式传参,通过如下的方式转换为需要的编码,如UTF-8等。
  1. String query = new String(request.getParameter("query").getBytes("ISO-8859-1"),"UTF-8");
复制代码
2. 通过POST方式传参,通过声明的方式声明编码类型来解决,如下:
  1. request.setCharacterEncoding("UTF-8");
复制代码





欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2