servlet3.0以后就有了 注解。 有好处也有坏处,所以有必要了解一下如何用注解的形式在Struts2中开发action
使用注解开发Action步骤:
1. 引入struts2-convention-plugin-2.3.31.jar 包
2. 配置文件web.xml 文件
<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>
3. 新建包,包名一般以.action结尾
4. 新建.action 处理类,该类必须继承ActionSupport
5. 在类上定义包名和命名空间以及继承包名(
@Namespace("/")
@ParentPackage("struts-default")
)
6. 在方法上定义action注解()
@Namespace("/")
@ParentPackage("struts-default")
public class AnnotationTest extends ActionSupport {
@Action(value = "Annotation", results = {
@Result(name = "success", location = "/annotationTest.jsp"),
@Result(name = "error", location = "/error.jsp")
})
public String show() {
System.out.println("注解处理Action请求的函数");
return SUCCESS;
}
}
常用参数:
1) @ParentPackage 指定父包
2) @Namespace 指定命名空间
3) @Results 一组结果的数组
4)@Result(name="success",location="/msg.jsp") 一个结果的映射
5)@Action(value="login") 指定某个请求处理方法的请求URL。注意,它不能添加在Action类上,要添加到方法上。
6) @ExceptionMappings 一级声明异常的数组
7) @ExceptionMapping 映射一个声明异常