註解配置Struts2 Action

2021-06-18 11:23:35 字數 3030 閱讀 7389

一. 基礎配置

1. parentpackage註解的引數引數

型別是否必需

預設值描述

value

string是無

指定要繼承的父包

如果註解中只有乙個名為value的引數,或其他引數都有預設值,那麼在為value引數設值時可以忽略value和等號(=)。

例:@parentpackage(value="struts-default")

@parentpackage("struts-default")

2. namespace註解的引數引數

型別是否必需

預設值描述

value

string是無

指定action所屬的命名空間

例:@namespace("/secure")

說明:命名空間取名時,以斜槓(/)開頭。

3. result註解的引數引數

型別是否必需

預設值描述

name

string

否action.success

指定result的邏輯名,即結果**

value

string是無

指定result對應的資源的url

type

class

否nullresult.class

指定result的型別

param

string[ ]

否為result傳遞引數,格式為:

例:@result("/success.jsp")

@result(name="register",value="/register.jsp",param={},type=servletdispatcherresult.class)

該例中沒有使用name和type引數,所以它們為預設值。

說明:type引數的預設值是nullresult.class,如果type引數是nullresult.class,則struts2框架在解析result的配置時,使用預設的結果型別(servletdispatcherresult)來替換nullresult。

注意:type是類,不是字串,因此不需要使用」」將該註解引數值括起來。

4. results註解的引數

配置多個result。該註解只有乙個引數value。使用時候可以忽略value和等號(=)。

引數型別

是否必需

預設值描述

value

result[ ]是無

為action定義一組result對映

例:@results()

在上面的例子中定義了兩個result對映。乙個邏輯名是input,資源位置是/input.jsp;另乙個邏輯名是error,資源位置是/error.jsp.

二. 使用註解配置action的注意事項

①  與action配置相關的4個註解只能用在類級別上。

②  需要在

web.xml

檔案中為

filterdispatcher過濾器

設定actionpackages引數,指定包含了action類(類使用了註解)的包的列表,多個包之間以逗號(,)分隔。這些包和它們的子包都將被掃瞄,在指定包中的所有實現了action介面的類,或以「action」結尾的類都將被檢測。後者允許我們編寫pojo action類,而不需要實現action介面。

③  包名

、命名空間名

和action名

的產生方式如下:

包名: action類所在的包作為action的包名。

命名空間:除了使用namespace註解指定命名空間外,也可以通過子包名來產生命名空間。

例:action類所在的包為com.***.action,如果actionpackages引數指定的包是com.***,那麼「/action」將作為命名空間的名字。

action名:通過action的類名來產生action的名字。若類名以「action」結尾,那麼類名中的「action」將被去掉,剩餘部分將首字母變為小寫作為action的名字。

例:action的類名是loginaction,那麼產生的action的名字是login.

例:若action的完整類名是com.***.action.loginaction。

則,actionpackages引數的配置為com.***

action的包名為com.***.action

action所屬的命名空間是/action

action的名字是login

④如果你想讓你的包繼承struts-default包,無須使用parentpackage註解,在框架內部,會自動讓你的包繼承struts-default包。

三. 使用註解配置action例項

乙個action和三個頁面。三個頁面配置為result對映。

例項開發步驟如下:

第一步:編寫success.jsp,input.jsp,error.jsp頁面。

第二步:編寫action類

@namespace("/test")

@result("/success.jsp")

@result()

public class annotationaction implementsaction

public string input() throws exception

public string error() throws exception

}

第三步:配置web.xml

struts2

org.apache.struts2.dispatcher.filterdispatcher

actionpackages

com.***.action

/*第四步:測試

struts2 註解配置

struts2基於註解的action配置 使用註解來配置action的最大好處就是可以實現零配置,但是事務都是有利有弊的,使用方便,維護起來就沒那麼方便了。要使用註解方式,我們必須新增乙個額外包 struts2 convention plugin 2.x.x.jar。雖說是零配置的,但struts....

struts2零配置 註解

一 配置web.xml struts2 org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter actionpackages com.test.action struts2 二 加入註解 namespace valu...

Struts2 註解配置 validations

任意乙個xml配置的validator都有乙個相應的註解。每乙個註解的屬性都和xml的配置很相似。還有些註解可以用來把乙個類定義為使用基於註解的驗證,或是配置自定義的validator,還可以把乙個屬性或類的驗證進行分組。註解 相應的 xml 描述 requiredfieldvalidator re...