Struts2基于注解的Action配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Struts2基于注解的Action配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3290字,纯文字阅读大概需要5分钟。
内容图文
![Struts2基于注解的Action配置](/upload/InfoBanner/zyjiaocheng/1276/6ff62d9dc0fd46c39a99200224a6de00.jpg)
1· 既然我们开发的是web项目所以web.xml文件时必不可少的
在web.xml 中配置拦截用户请求的 filter拦截用户的所有的请求并且初始化 struts.xml文件
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2·使用注解的方式配置struts就需要引入一个jar包
虽然说是零配置但是struts.xml还是少不了的配置如下:
<!-- 指定由spring负责action对象的创建 -->
<constant name="struts.objectFactory" value="spring" />
<!-- 所有匹配*.action的请求都由struts2处理,可以扩展 -->
<constant name="struts.action.extension" value="action" />
<!-- 是否启用开发模式,上线时一般不需要开启,开发时获取更多的日志信息 -->
<constant name="struts.devMode" value="true" />
<!-- struts配置文件改动后,是否重新加载 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 设置浏览器是否缓存静态内容 -->
<constant name="struts.serve.static.browserCache" value="false" />
<!-- 请求参数的编码方式 -->
<constant name="struts.i18n.encoding" value="utf-8" />
<!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 -->
<constant name="struts.i18n.reload" value="true" />
<!-- 文件上传最大值 -->
<constant name="struts.multipart.maxSize" value="104857600" />
<!-- 让struts2支持动态方法调用,在调用时使用userAction !login .action方式进行调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- Action名称中是否还是用斜线 -->
<constant name="struts.enable.SlashesInActionNames" value="false" />
<!-- 允许标签中使用表达式语法 -->
<constant name="struts.tag.altSyntax" value="true" />
<!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
<constant name="struts.dispatcher.parametersWorkaround" value="false" />
3·action类的注解:
@ParentPackage("basePackage") //指定父包
@Namespace("/user") //指定命名空间
// @Results( { @Result(name = "success", location = "/main.jsp"), @Result(name = "error", location = "/error.jsp") }) 全局的实现跳转的页面
public class UserAction extends BaseAction implements ModelDriven<User> {
②
private User user = new User();
@Overridepublic User getModel() {
return user;
}
private UserServiceI service;
public UserServiceI getService() {
return service;
}
@Autowired // spring注解
public void setService(UserServiceI service) {
this.service = service;
}
// @Action(value = "reg", results = { @Result(name = "success", location = "/index.jsp") }) 另一种方式localhost:8080/struts_demo/user/userAction/reg
public void reg(){
JSON j = new JSON();
try {
service.addUser(user);
j.setSuccess(true);
j.setMessage("注册成功");
} catch (Exception e) {
j.setMessage("注册失败");
e.printStackTrace();
}
super.writeJson(j);
}
}
上面的1.2使用的是实现ModalDriven<User>(模型驱动的方式)方便接收页面传递过来的值
以前我们是把页面上所有的传值写一个类级变量然后定义其getter / setter方法
这样的话如果变量过多会很麻烦,所以我们实现模型驱动实现其getModal方法即可,在modal层建立实例写入getter/setter方法
总结:
Namespace:指定命名空间。
ParentPackage:指定父包。
Result:提供了Action结果的映射。(一个结果的映射)
Results:“Result”注解列表
ResultPath:指定结果页面的基路径。
Action:指定Action的访问URL。
Actions:“Action”注解列表。
ExceptionMapping:指定异常映射。(映射一个声明异常)
ExceptionMappings:一级声明异常的数组。
InterceptorRef:拦截器引用。
InterceptorRefs:拦截器引用组。
4. 调用:localhost:8080/struts_demo/user/userAction!reg .action 即可
原文:http://blog.csdn.net/u013654037/article/details/38315863
内容总结
以上是互联网集市为您收集整理的Struts2基于注解的Action配置全部内容,希望文章能够帮你解决Struts2基于注解的Action配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。