Struts2的注解方式Annotation

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值