頁面向后台傳取值的幾種方式對比


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM