標籤:
Struts2環境配置
- 進口Struts2的需要jar包
- 在WEB-INF/classes(src)檔案夾下建立struts.xml檔案
- 在web.xml檔案裡加入Struts過濾器資訊
經常使用設定檔
- struts.xml:用於存放Action映射關係、設定Struts配置資訊
- web.xml:用於配置容器的Struts過濾器,一般配置例如以下:
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- struts-default.xml:Struts2的預設配置資訊,一般不建議改動
- default.properties:Struts2的預設設定資訊。相同不建議改動
Action
Struts2的核心功能,一般由兩部分組成:struts.xml的Action映射和使用Java編寫的Action實體類。在struts.xml中通常使用<action>、<result>、<package>等一系欄標籤完畢Action的映射,它們的屬性分別有:
- package
屬性 |
是否必須 |
描寫敘述 |
name |
是 |
包名。作為其他包應用本包的標記 |
extends |
否 |
設定本包繼承其他包 |
namespace |
否 |
設定包的命名空間 |
abstact |
否 |
設定為抽象包 |
- action
屬性 |
是否必須 |
描寫敘述 |
name |
是 |
請求的Action名稱 |
class |
否 |
Action處理類相應詳細路徑 |
method |
否 |
指定Action中的方法名 |
converter |
否 |
指定Action使用的類型轉換器 |
- result
屬性 |
是否必須 |
描寫敘述 |
name |
否 |
Action返回視圖名稱。默覺得success |
type |
否 |
返回結果類型,默覺得dispatcher |
一個簡單地Action映射能夠寫成:
<package name="admin" extends="struts-default"><action name="welcome" class="struts.action.WelcomeAction"><result>/welcome.jsp</result></action></package>
Action實體類須要繼承ActionSupport類而且重寫他的execute的方法(或者其它的方法,無參返回String類型而且與action標籤中method屬性相應就可以)。而且返回與result標籤name屬性相應的字串。與上面配置相應的實體類為:
public class WelcomeAction extends ActionSupport {public String execute() {return SUCCESS;}}
動態方法引動過程(DMI)
一個Action中僅能配置一個method在實際應用中十分不方便,Struts2支援在url中指定調用Action類的不同方法。格式為"Action名!方法名"。
在使用此功能前須要在struts.xml中加入例如以下代碼開啟DMI:
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
之後在Action類中加入返回值為String類型的相應方法就可以輕鬆調用。
萬用字元(wildcard)
Struts2支援萬用字元操作。使得在須要配置大量action時通過約定格式降低工作量。它的使用方法是使用"*"取代easy變換的單詞,然後用{n}取出。n代表第n個萬用字元。比如一個程式須要有4個Action。名稱分別為DogAction、CatAction、BirdAction和FishAction。
假設依照之前的方法則須要配置4個action映射關係。可是使用萬用字元後僅僅須要以下一個action就可以:
<action name="buy*" class="struts.action.{1}Action"><result>/pay.jsp</result></action>萬用字元的範圍很廣,通過action的name能夠改變method、class和result的結果等。常常使用能夠節約很多時間。可是須要事先良好的一致性格公式。
著作權聲明:本文部落格原創文章,部落格,未經同意,不得轉載。
[Java Web]Struts2加起來(一個)