页面向后台传取值的几种方式对比

demo内容:在页面创建一个表单,通过提交表单的方式向后台传值,后台处理数据后跳转另一页面

(一)、jsp+servlet

  数据流向:

  (first.jsp——servlet)

  注解版:jsp页面的form表单的:action=“**”——servlet的@WebServlet("/**");method="post"——doPost();

      input的name="**"—— request.getParameterValues("**")(类型为String[]);

  web.xml版:jsp页面的form表单的:action=“**”——<servlet-mapping><url-pattern>/** ;

        <servlet><servlet-class>路径.**——**.java(servlet);

  (servlet——second.jsp)

              request.getRequestDispatcher("/**.jsp").forward(request, response)——**.jsp;

      request.setAttribute("**", **值)——<%=request.getAttribute("**") %>;


  (二)、Struts2

  

  vive页面获取action值的三种方式(首先要在类中定义变量,并生成setter和getter方式,action取jsp页面的传值):

  ①、使用struts的tag :<%@ taglib prefix="s" uri="/struts-tags" %>

    <s:property value="变量名" />

  ②、HttpRequest的getAttribute方法(在Action处理完之后,跳到result页面之前,struts应用把Action对象的成员变量放到了request的属性里)

    <%=request.getAttribute("变量名") %>

  ③、${变量名 }

(三)、springMVC

  与struts2不同,在类中定义变量,并生成setter和getter方式,controller无法取得jsp页面input的name="**"的传值,作为servlet入口,与jsp的交互方式与servlet类似。

关于servlet与JSP之间的传值方式:http://www.jb51.net/article/32622.htm

 

posted @ 2016-07-30 15:25  凌晨两点醒来  阅读(1835)  评论(0编辑  收藏  举报