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 版本,同樣大家也可以在武林網進行本地下載://www.VeVB.COm/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" 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";}@Overridepublic 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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。