`
Sharpleo
  • 浏览: 566430 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

struts2 注解

    博客分类:
  • j2ee
阅读更多
使用注解来配置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";
		}
	}
}

分享到:
评论
1 楼 peter2009 2013-03-13  
想问问 XML是怎么配置的

为什么我加入这个包的时候会有这个错误

Unable to load configuration. - bean - jar:file:/E:/WorkProject/LSHPharse2/SXFrameWork/WebRoot/WEB-INF/lib/struts2-convention-plugin-2.3.8.jar!/struts-plugin.xml:32:155

相关推荐

    struts2注解与拦截器demo

    该例子为struts2注解与拦截器demo,利用myEclipse8.5开发,导入刚才后,自动加载所需struts2的jar包,可以直接运行,是初学struts2注解、拦截器很好的例子,保证10分钟学会2种技术,愿意分享给大家。

    Struts2注解开发jar

    Struts2注解开发jar,必须导入struts2-convention-plugin-2.3.15.jar包,它在struts2安装包下lib目录中。

    Maven实现struts2注解

    Maven实现struts2注解

    Struts2注解详细说明文档

    Struts2注解详细说明文档,详细讲述struts2的注解使用

    struts2注解详解

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...

    struts2注解登陆

    注解实现的页面跳转其特点是不用配置文件struts.xml因而可以实现零配置,同时由于有注解的功能,所以说大大增加了程序的可维护性。

    Struts2 注解 Demo

    Struts2Demo 注解的小例子,jar包全包括

    struts2注解小实例

    这是我自己写的一个struts注解的小实例,非常的实用,大家一看就懂的

    struts2注解必须包

    struts2-convention-plugin-2.1.8.1.jar

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    Struts2框架及注释和用法

    Struts2的框架及注释和使用法,希望大家支持,我们一起努力,谢谢!

    struts2注解配置

    struts2 注解 配置 资料 最近学习struts2的注解配置,从网上找的一些资料,分享给大家。

    struts2利用注解annotation实现文件下载

    本文档对利用struts2 注解 annotation 实现文件下载作了简单介绍,并有代码为例,希望对学习struts2注解annotation的人有帮助,特别是需要动态传参方面。

    struts2注解配置全面解析

    很多人在学习struts2注解的时候,都被它莫名其妙的错误搞的郁闷,而网上关于这方面的东西大多都是基于struts2.0版本的,对我们现在用的2.1以上的版本不起什么作用,所以特整理出一份文档,里面详细说明了怎样用注解...

    Struts2注解配置教程

    《Struts2注解配置》 ——系列精品教程

    spring和Struts2注解文档

    spring和struts2注解讲解说明和使用

    Struts 2使用注解配置Action

    Struts 2使用注解配置Action,不配置struts.xml,通过注解直接配置action

    struts2注释

    struts2注释,关于struts2注释的详细的介绍,非常的使用,有助于web开发初学者了解struts2,会有很大的帮助

    Struts2注解使用说明文档

    从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行...

    Struts2+spring注解配置

    Struts2+spring注解配置 很好哦

Global site tag (gtag.js) - Google Analytics