Struts2的@Action和@Actions的区别
@Actlon 和@Actlons 都是既可以用在类级,又可以用在方法级上。
@Action的属性:
value: 指定URL中的映射名称。
params: 指定需要注入到Action 的参数。
results: 指定结果。
interceptorRefs: 指定拦截器引用。
excepitonMappings: 声明错误处理。
public class HelloWorldAction extends ActionSupport {
@Action(value = "/annoMethod", params = { "username", "admin", "password",
"123456" }, results = {
@Result(name = "success", location = "/anno/success.jsp"),
@Result(name = "error", location = "/anno/error.jsp") }, interceptorRefs = {
@InterceptorRef("timer"), @InterceptorRef("defaultStack") }, exceptionMappings = {
@ExceptionMapping(exception = "java.lang.NullPointerException", result = "nullError"),
@ExceptionMapping(exception = "java.lang.Exception", result = "error") })
public String method() throws Exception {
System.out.println("now is HelloWorld");
return SUCCESS;
}
private String username;
private String password;
// ...
}
相当于:
<action name="annoAction" class="cn.itcast.user.action.HelloWorldAction" method="method">
<param name="username">admin</param>
<param name="password">123456</param>
<interceptor-ref name="timer" />
<interceptor-ref name="defaultStack" />
<exception-mapping result="error" exception="java.lang.Exception" />
<exception-mapping result="nullError" exception="java.lang.NullPointerException" />
<result name="success">/anno/success.jsp</result>
<result name="error">/anno/error.jsp</result>
<result name="nullError">/anno/error.jsp</result>
</action>
而@Actions 是可以包含多个@Action 的注解:
@Actions({@Action("/annoMethod"),@Action("/method")})
public String method() throws Exception {
System.out.println("now is HelloWorld");
return SUCCESS;
}
视屏下载地址

浙公网安备 33010602011771号