您好,登錄后才能下訂單哦!
Struts2 概述:
Struts2 是一個用來開發 MVC 應用程序的框架,他提供了 Web 應用程序開發過程中的一些常見問題的解決方案,比如對于用戶輸入信息合法性的驗證,統一的布局,國際化等,既然有 Struts2 那么肯定有 Struts1,但是從本質上講 Struts2 不是從 Struts1 擴展而來的,更應該說是一種換了品牌標簽的 WebWork 更合適。
struts1 VS struts2
Struts2 環境搭建
新建 Model,并勾選 Struts2 ,之后選擇 Struts2 所要使用的 library,你可以直接在新建頁面中選擇 Download 進行下載,也可以提前下載好 Struts2 所需要的 jar 包自己構建(這里我選擇自己構建的 library)
http://struts.apache.org/download.cgi#struts2516 在此頁面可以選擇自己所要使用 Struts2 版本,同樣大家也可以在億速云進行本地下載:https://www.jb51.net/softs/539810.html
點擊下一步之后為自己的 struts2 項目命名(在命名的時候建議在第二欄 Content Root 的路徑后改名,若在第一欄中更改只是更改第一欄的,其余兩欄不會被更改)
點擊 Finish 完成 Struts2 項目的創建,所創建的項目如下
IDEA VS Eclipse
Struts2 HelloWorld
搭建好 Struts2 的開發環境之后我們開始第一個 Struts2 程序的編寫,其要求為在一個表單中輸入用戶的基本信息點擊提交后跳轉到另一個頁面顯示用戶所輸入的信息,在沒有學習 Struts2 之前這對于我們來說非常簡單,僅需要將頁面請求發送到 Servet 中響應請求到另一個頁面,使用 EL 和 JSTL 將信息顯示即可。對于 Struts2 這當然也算是一個 HelloWorld,我們將借此實例開始 Struts2 各方面的知識講解。
在 index.jsp 中編寫頁面代碼,供用戶輸入基本信息,如下:
依據表單 name 屬性編寫實體類,并創建 getXxx 和 setXxx 方法,Customer.java
在 struts.xml 文件中編寫代碼處理 struts2 請求
返回顯示頁面 show.jsp
struts.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="helloWorld" extends="struts-default"> <action name="input" class="com.struts2.hello.test.Customer" method="print"> <result name="print">/show.jsp</result> </action> </package> </struts>
Customer.java
package com.struts2.hello.test; /** * Created by shkstart on 2018/03/24. */ public class Customer { private String userName; private String email; private String address; /* * getXxx() setXxx() 方法 **/ public String print() { System.out.println(new Customer()); return "print"; } @Override public String toString() { return "Customer{" + "userName='" + userName + '\'' + ", email='" + email + '\'' + ", address='" + address + '\'' + '}'; } }
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Input</title> </head> <body> <table> <form action="input.action" method="post"> <tr> <td>UserName</td> <td><input type="text" name="userName"></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email"></td> </tr> <tr> <td>Address</td> <td><input type="text" name="address"></td> </tr> <tr> <td><input type="submit" value="Submit"></td> </tr> </form> </table> </body> </html>
show.jsp(只展示 Body 標簽內容)
UserName: ${userName}<br> Email: ${email}<br> Address: ${address}<br>
代碼詳解
Customer.java 中成員變量和 index.jsp 中的屬性一一對應,不忽略大小寫;
show.jsp 中用于顯示的和 Customer.java 中的成員變量一致,否則無法顯示
index.jsp 中的 form 表單 action 值應該設置為struts.xml 文件中的 action 的name 屬性
struts.xml 文件中的 action 節點的 method 屬性應 Custome.java 中的 String print()
方法,result 節點的 name 屬性為
String print()
方法的返回值
result 節點的值為處理了該 struts2 請求后所響應的頁面
對于 show.jsp 頁面的顯示我們在后面會詳細講解有關知識,至此我們 Struts2 的 HelloWorld 就到這里,我相信和我一樣的小白跟著做下去應該不會出什么大的差錯!!
struts.xml 文件節點
package 屬性 --- struts2 使用 package 來組織模塊
action 屬性 --- 一個 struts2 請求就是一個 action
一個 action 可以有多個 result 子節點,多個 result 子節點使用 name 屬性區分
result 節點的 type 屬性默認為 dispatcher(轉發),表示結果的響應類型
Action VS action
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。