Struts2的注解方式Annotation
2016-07-15 13:26
519 查看
1.引入支持Struts2框架注解开发的jar包
struts2-convention-plugin-2.3.24.1
如图:
![](http://img.blog.csdn.net/20160715132637076?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.配置struts.xml:
![](http://img.blog.csdn.net/20160715132934659?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.Struts2使用注解开发需要遵循一些规范:
1)Action要必须继承ActionSupport父类;
2)Action所在的包名必须以 Action 结尾。
4.action中常用的注解
(1)Namespace Annotation
1.通过在ActionClass上定义 @Namespace("/manger")
2.通过 package-info.java 定义
@org.apache.struts2.convention.annotation
Namespace("/manger")
(2)Action Annotation
1. @Action(interceptorRefs={
@InterceptorRef("validation"),
@InterceptorRef("defaultStack")
})
2. chain
@Action("foo")
public String foo() {
return "bar";
}
@Action("foo-bar")
public String bar() {
return SUCCESS;
}
(3)Result Annotation
1.全局,整个类可以访问
2.局部,某个方法可以访问
写一个例子:
步骤如下:
1.在action包下又建一个包,并且把package-info也创建出来~,如图
![](http://img.blog.csdn.net/20160715140441084?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.编写MangerAction:
struts2-convention-plugin-2.3.24.1
如图:
2.配置struts.xml:
<constant name="struts.convention.action.suffix" value="Action"/>
3.Struts2使用注解开发需要遵循一些规范:
1)Action要必须继承ActionSupport父类;
2)Action所在的包名必须以 Action 结尾。
4.action中常用的注解
(1)Namespace Annotation
1.通过在ActionClass上定义 @Namespace("/manger")
2.通过 package-info.java 定义
@org.apache.struts2.convention.annotation
Namespace("/manger")
(2)Action Annotation
1. @Action(interceptorRefs={
@InterceptorRef("validation"),
@InterceptorRef("defaultStack")
})
2. chain
@Action("foo")
public String foo() {
return "bar";
}
@Action("foo-bar")
public String bar() {
return SUCCESS;
}
(3)Result Annotation
1.全局,整个类可以访问
2.局部,某个方法可以访问
@Results({ @Result(name="failure", location="fail.jsp") }) public class HelloWorld extends ActionSupport { @Action(value="/different/url",results={@Result(name="success", location="http://struts.apache.org", type="redirect")} ) public String execute() { return SUCCESS; } } 可以传递参数: results={ @Result(name="success", type="httpheader", params={"status", "500", "errorMessage", "Internal Error"})
写一个例子:
步骤如下:
1.在action包下又建一个包,并且把package-info也创建出来~,如图
2.编写MangerAction:
public class ManagerAction extends ActionSupport{ private static final long serialVersionUID = 7840839944920404854L; /* * localhost:9999/eStore_sh/manager/toIndex.action */ @Action(value="toIndex",results={@Result(name=SUCCESS,location="/WEB-INF/jsp/manager/index.jsp")}) public String toIndex(){ System.out.println("toIndex"); return SUCCESS; } }3.编写package-info:
@Namespace("/manager") @ParentPackage("default") package com.e.storesh.web.action.manager; import org.apache.struts2.convention.annotation.DefaultInterceptorRef; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage;4.在浏览器中运行,效果图如下
相关文章推荐
- java-注解annotation
- Java Annotation Overview详解
- 详解JDK 5 Annotation 注解之@Target的用法介绍
- java教程之java注解annotation使用方法
- Hibernate的Annotation版Hello world实例
- Java中注解的工作原理
- Java注解之Retention、Documented、Inherited介绍
- spring aop两种配置方式
- 深入浅析Java注解框架
- Restful传递数组参数及注解大全
- Java @Deprecated注解的作用及传递性
- 全面解析Java中的注解与注释
- 小议Java中@param注解与@see注解的作用
- Java注解详细介绍
- 详解Java编程中Annotation注解对象的使用方法
- 使用Eclipse开发工具如何解决Java Compiler中Annotation Processin不出现的问题
- JDK 5 提供的注解:Target、Inherited和Documented的区别
- SpringMVC restful 注解之@RequestBody进行json与object转换
- 基于Java 注解(Annotation)的基本概念详解