java

位置:IT落伍者 >> java >> 浏览文章

Struts2基于注解的Action配置


发布日期:2019年07月27日
 
Struts2基于注解的Action配置

使用注解来配置Action的最大好处就是可以实现零配置但是事务都是有利有弊的使用方便维护起来就没那么方便了

要使用注解方式我们必须添加一个额外包strutsconventionpluginxxjar

虽说是零配置的但strutsxml还是少不了的配置如下

<?xml version= encoding=UTF ?>

<!DOCTYPE struts PUBLIC

//Apache Software Foundation//DTD Struts Configuration //EN

/dtds/strutsdtd>

<struts>

<! 请求参数的编码方式>

<constant name=strutsinencoding value=UTF/>

<! 指定被struts处理的请求后缀类型多个用逗号隔开>

<constant name=strutsactionextension value=actiondohtm/>

<! 当strutsxml改动后是否重新加载默认值为false(生产环境下使用)开发阶段最好打开 >

<constant name=nfigurationxmlreload value=true/>

<! 是否使用struts的开发模式开发模式会有更多的调试信息默认值为false(生产环境下使用)开发阶段最好打开 >

<constant name=strutsdevMode value=false/>

<! 设置浏览器是否缓存静态内容默认值为true(生产环境下使用)开发阶段最好关闭 >

<constant name=strutsservestaticbrowserCache value=false />

<! 指定由spring负责action对象的创建

<constant name=strutsobjectFactory value=spring />

>

<! 是否开启动态方法调用>

<constant name=strutsenableDynamicMethodInvocation value=false/>

</struts>

action类的注解

package comtjcyjdwebaction;

import ornventionannotationAction;

import ornventionannotationExceptionMapping;

import ornventionannotationExceptionMappings;

import ornventionannotationNamespace;

import ornventionannotationParentPackage;

import ornventionannotationResult;

import ornventionannotationResults;

import comopensymphonyxworkActionSupport;

/**

* Struts基于注解的Action配置

*

*/

@ParentPackage(strutsdefault)

@Namespace(/annotation_test)

@Results( { @Result(name = success location = /mainjsp)

@Result(name = error location = /errorjsp) })

@ExceptionMappings( { @ExceptionMapping(exception = javalangeRuntimeException result = error) })

public class LoginAction extends ActionSupport {

private static final long serialVersionUID = L;

private String loginName;

private String password;

@Action(login) //或者写成 @Action(value = login)

public String login() throws Exception {

if (yjdequals(loginName) && yjdequals(password)) {

return SUCCESS;

} else {

return ERROR;

}

}

@Action(value = add results = { @Result(name = success location = /indexjsp) })

public String add() throws Exception {

return SUCCESS;

}

public String getLoginName() {

return loginName;

}

public void setLoginName(String loginName) {

thisloginName = loginName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

thispassword= password;

}

}

这样就完成了一个基于注解的action配置

总结常用的注解如下

Namespace指定命名空间

ParentPackage指定父包

Result提供了Action结果的映射(一个结果的映射)

ResultsResult注解列表

ResultPath指定结果页面的基路径

Action指定Action的访问URL

ActionsAction注解列表

ExceptionMapping指定异常映射(映射一个声明异常)

ExceptionMappings一级声明异常的数组

InterceptorRef拦截器引用

InterceptorRefs拦截器引用组

上一篇:Hibernate的HQL多表联合查询使用left join方式

下一篇:Struts1.x系列教程(3):属性(资源)文件乱码问题的解决之道