使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了。
要使用注解方式,我们必须添加一个额外包:struts2-convention-plugin-2.x.x.jar。
总结常用的注解如下:
Namespace:指定命名空间。
ParentPackage:指定父包。
Result:提供了Action结果的映射。(一个结果的映射)
Results:“Result”注解列表
ResultPath:指定结果页面的基路径。
Action:指定Action的访问URL。
Actions:“Action”注解列表。
ExceptionMapping:指定异常映射。(映射一个声明异常)
ExceptionMappings:一级声明异常的数组。
InterceptorRef:拦截器引用。
InterceptorRefs:拦截器引用组。
package com.kingzheng.htwy.goodsPlan.action;
import javax.annotation.Resource;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
/**
* 物资计划控制器
* @author kings.chan
*
*/
@Controller("GoodsPlanAction")
@Scope("prototype")
@ParentPackage("struts-default")
@Namespace("/goodsplan")
public class GoodsPlanAction {
private String currentPage;// 当前页
private MainDatasouse1 mainbean;
private GoodsPlanServ serv;
public MainDatasouse1 getMainbean() {
return mainbean;
}
public void setMainbean(MainDatasouse1 mainbean) {
this.mainbean = mainbean;
}
@Resource(name="GoodsPlanServImpl")
public void setServ(GoodsPlanServ serv) {
this.serv = serv;
}
public String getCurrentPage() {
return currentPage;
}
public void setCurrentPage(String currentPage) {
this.currentPage = currentPage;
}
/***
* 主数据1查询
* @return
*/
@Action(value="main1_search",results={@Result(name="success",location="/WEB-INF/jsp/htwy/goodsplan/main1.jsp")})
public String mainDataSouse1Search()
{
try {
serv.mainDatasouseSearch(this);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
/***
* 主数据1编辑
* @return
*/
@Action(value="main1_edit",results={@Result(name="success",location="/WEB-INF/jsp/htwy/goodsplan/main1_edit.jsp")})
public String mainDataSouse1Edit()
{
try {
serv.mainDatasouseEdit(this);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
}
带参数的注解:{key1,value1,key2,value2}
@Action(value="treeAction_subOrg",results={
@Result(name=SUCCESS,type="stream",params={"contentType","text/html;charset=UTF-8","inputName","json"})
})
配置action:
/**
* Struts2基于注解的Action配置
*
*/
@ParentPackage("struts-default")
@Namespace("/annotation_test")
@Results( { @Result(name = "success", location = "/main.jsp"),
@Result(name = "error", location = "/error.jsp") })
@ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") })
拦截器配置:
@ParentPackage("custom-default")
@InterceptorRefs(@InterceptorRef("checkLoginStack"))
@Results( { @Result(name = SUCCESS, location = "/redirect.jsp"),
@Result(name = "input", location = "/login.jsp") })
public class LoginAction extends ActionSupport {
public String param = null;
private static final long serialVersionUID = -7146549074248299166L;
private Logger LOG = Logger.getLogger(LoginAction.class);
public String execute() {
LOG.info(param);
Map<String, Object> session = ActionContext.getContext().getSession();
if (param.equals("1")) {
session.put("user", "123");
return SUCCESS;
} else {
session.remove("user");
return "input";
}
}
}
分享到:
相关推荐
该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。
Struts2注解开发jar,必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安装包下lib目录中。
Maven实现struts2注解
Struts2注解详细说明文档,详细讲述struts2的注解使用
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...
注解实现的页面跳转其特点是不用配置文件struts.xml因而可以实现零配置,同时由于有注解的功能,所以说大大增加了程序的可维护性。
Struts2Demo 注解的小例子,jar包全包括
这是我自己写的一个struts注解的小实例,非常的实用,大家一看就懂的
struts2-convention-plugin-2.1.8.1.jar
struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx
Struts2的框架及注释和使用法,希望大家支持,我们一起努力,谢谢!
struts2 注解 配置 资料 最近学习struts2的注解配置,从网上找的一些资料,分享给大家。
本文档对利用struts2 注解 annotation 实现文件下载作了简单介绍,并有代码为例,希望对学习struts2注解annotation的人有帮助,特别是需要动态传参方面。
很多人在学习struts2注解的时候,都被它莫名其妙的错误搞的郁闷,而网上关于这方面的东西大多都是基于struts2.0版本的,对我们现在用的2.1以上的版本不起什么作用,所以特整理出一份文档,里面详细说明了怎样用注解...
《Struts2注解配置》 ——系列精品教程
spring和struts2注解讲解说明和使用
Struts 2使用注解配置Action,不配置struts.xml,通过注解直接配置action
struts2注释,关于struts2注释的详细的介绍,非常的使用,有助于web开发初学者了解struts2,会有很大的帮助
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...
Struts2+spring注解配置 很好哦