Struts2注解

在使用Struts框架的时候,都需要配置struts.xm文件,而通过struts注解机制,可以在action类里直接配置,省略掉xml文件。

注解需要jar包的支持:struts2-convention-plugin-2.3.34.jar

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 包名,命名空间,继承自struts-default -->
	<package name="default" namespace="/" extends="struts-default">
		<!-- 方法名,引用类 -->
				 		
		<action name="login" class="com.action.LoginUser">
			<result>/loginsuccess.jsp</result>
		</action>
	</package>
</struts>

 action

package com.action;
import org.apache.struts2.convention.annotation.*;
import com.opensymphony.xwork2.ActionSupport;

@Namespace("/")
@ParentPackage("struts-default")
public class LoginUser extends ActionSupport {

	private static final long serialVersionUID = 2415397588236270373L;
	private String account;
	private String password;
	public String getAccount() {
		return account;
	}
	public void setAccount(String account) {
		this.account = account;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Action(value="login",
        results= {
            @Result(
                name="success",
                type="dispatcher",
                location="/loginsuccess.jsp"
            )
        }
	)
	public String execute()throws Exception{
		
		return SUCCESS;
	}
}

@Namespace

定义命名空间相当于struts.xml的package的命名空间

@ParentPackage

字面翻译是父母包,实际是继承,相当于struts.xml的package的extends。

@Action/@Actions:

@Action指定类为action,相应配置文件里的<action>....</action>标签

value:配置action的名字,相当于<action>中的name属性

results:配置返回的结果集属性,相当于struts2中的<result>列表,能够在{}中配置属性

@Actions里可以配置多个@Action

@Actions({

    @Action(value = "",results = {@Result(name="",type="",location="")}),

    @Action(value = "",results = {@Result(name="",type="",location="")}),
    
    @Action(value = "",results = {@Result(name="",type="",location="")})

})

 

@Result/@Results:

@Result配置详细返回结果。在results中使用,也能够单独在类上使用,有例如以下属性

name:相应<result>中的name属性

location:相应<result></result>间的地址

type:相应<result>的type属性

results里可以包含很多结果集,如:

@Action(value="login",
    results= {
        @Result(name="success",type="dispatcher",location="/loginsuccess.jsp"),
        @Result(name="",type="",location=""),
        @Result(name="",type="",location="")
        }
)

 所有注解完成后,可以删除struts.xml测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值