您的位置:首页 > 编程语言 > Java开发

Struts2的注解方式Annotation

2016-07-15 13:26 519 查看
1.引入支持Struts2框架注解开发的jar包

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.在浏览器中运行,效果图如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息