舊版本使用注解
開始使用注解使用的是 strutscorejar
這個時候的過濾器是orgapachestrutsdispatcherFilterDispatcher
可以在webxml裡面指定action的祖包actionPackages
[html] <initparam>
<paramname>actionPackages</paramname>
<paramvalue>manning</paramvalue>
</initparam>
<initparam>
<paramname>actionPackages</paramname>
<paramvalue>manning</paramvalue>
</initparam>
被注解的內在如上manning的包下 類名字為 TestAction 或者 Test extends ActionSupport 即可被注解為Struts的Action
內容可以為空 空跳轉只需在類名上面加 Result(value=/testjsp)即可如下
[java] package manningchapterTwo;
import ornfigResult;
import orgapachestrutsdispatcherServletDispatcherResult;
import comopensymphonyxworkActionSupport;
@Result( value=/chapterTwo/AnnotatedNameCollectorjsp )
public class AnnotatedNameCollector extends ActionSupport {
}
package manningchapterTwo;
import ornfigResult;
import orgapachestrutsdispatcherServletDispatcherResult;
import comopensymphonyxworkActionSupport;
@Result( value=/chapterTwo/AnnotatedNameCollectorjsp )
public class AnnotatedNameCollector extends ActionSupport {
}或者
[java]
package manningchapterTwo;
import ornfigResult;
import orgapachestrutsdispatcherServletDispatcherResult;
@Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )
public class AnnotatedHelloWorldAction {
public String execute() {
return SUCCESS;
}
}
package manningchapterTwo;
import ornfigResult;
import orgapachestrutsdispatcherServletDispatcherResult;
@Result(name=SUCCESS value=/chapterTwo/HelloWorldjsp )
public class AnnotatedHelloWorldAction {
public String execute() {
return SUCCESS;
}
}
如上部分摘自《StrutsInAction》
新版本使用注解
但是現在注解及過濾器已經更新了高版本使用 strutscorejar
StrutsPrepareAndExecuteFilter 在原過濾器包的ng包下面
我們實現注解還需要 strutsconventionpluginjar
可以在strutsxml或strutsproperties裡設置常量來設置Struts框架讀取哪些類為Action
nventionactionpackages可以使用的Action的祖包默認為沒有 可以讀取這個包及其子包的所有頭上標記了【 @Action 】 的類
nventionpackagelocators可以使用的Action的上級包默認為【actionactionsstrutsstruts】這樣就可以讀取所有在包中的所有頭上注冊了【@Action】的類注意設置的action應為這個包的最後一級包 nventionactionsuffixAction類類名的後綴默認為Action
我們使用時砍掉後綴如 TestAction >訪問 testaction
@Result參數變化 為 @Result(name = SUCCESS location = /mainjsp) name 默認為SUCCESS
多返回@Results( { @Result(name = success location = /mainjsp) @Result(name = error location = /errorjsp) })
可以加包 @ParentPackage(strutsdefault) 空間 @Namespace(/test) 默認為excute方法在類名上定義@Action時 其他可以定義@Action在方法上
@Action(value = add results = { @Result(name = success location = /indexjsp) })
public String add() throws Exception {
return SUCCESS;
}
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28749.html