文档章节

struts2-基于注解的Action配置

ws199358
 ws199358
发布于 2016/10/05 11:01
字数 511
阅读 137
收藏 1

1.web.xml中配置拦截器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <filter>
	  	<filter-name>strutsFilter</filter-name>
	  	<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	  </filter>
	  <filter-mapping>
	  		<filter-name>strutsFilter</filter-name>
	  		<url-pattern>/*</url-pattern>
	  </filter-mapping>
</web-app>

2.·使用注解的方式配置struts需要引入一个jar包

3·action类的注解:

@ParentPackage("basePackage")  //指定父包

@Namespace("/user")   //指定命名空间

@Results( { @Result(name = "success", location = "/main. jsp ")

 @Result(name = "error", location = "/error.jsp") })   全局的实现跳转的页面

@Action("userAction")  //指定action的访问url   

例如:java代码注解

1   package com.oracle.soccerleague.action;
……
22  @Namespace(value="/admin")  
23  @ParentPackage(value="struts-default")
24  @Action(value="AddLeague")
25  @Results({  
26     @Result(name="success", location="/admin/AddLeagueSucc.jsp"), 
27     @Result(name="input", location="/admin/AddLeague.jsp") 
28  })
29  public class AddLeagueAction extends ActionSupport {
30      private int year;
31      private String season;
32      private String title;
……
100 }

对应的struts.xml配置文件

以上注解与以下struts.xml配置作用相同: 
6  <struts>
7     <package name="admin" namespace="/admin" extends="struts-default">
8          <action name="AddLeague" 
9                  class="com.oracle.soccerleague.action.AddLeagueAction">
10             <result name="success">/admin/AddLeagueSucc.jsp</result>
11             <result name="input">/admin/AddLeague.jsp</result>
12         </action>
13     </package>
14 </struts>

4.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方式进行调用 -->

    <!-- 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" />

© 著作权归作者所有

共有 人打赏支持
ws199358
粉丝 6
博文 21
码字总数 17855
作品 0
深圳
程序员
struts2.0和Spring MVC

Spring MVC 和 Struts2 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。 Spring MVC和S...

耿中华
2014/09/18
0
0
Spring MVC和Struts2的比较

Spring MVC PK Struts2 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。 Spring MVC和S...

姚君
2014/04/05
0
2
SpringMVC 与 Struts 2的区别

SpringMVC作为MVC框架,与Struts 2 有着异曲同工之处,首先对比一下SpringMVC与Struts2的不同之处: 1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不...

翊骷
2014/08/04
0
0
struts2注解配置@Action报错,求大神???谢谢!!!

在struts.xml中配置action就没问题,用注解@Action的话就报错: org.apache.struts2.dispatcher.Dispatcher warn 警告: Could not find action or result: /struts2/anno2.action There is n......

htmlCssJs
2013/12/26
1K
2
Spring MVC和Struts2的比较的优点

虽然说没有系统的学习过Spring MVC框架, 但是工作这么长时间, 基本上在WEB层使用的都是Spring MVC, 自己觉得Struts2也是一个不错的WEB层框架, 这两种框架至今自己还未有比较, 今天闲着没事干...

陈昊Sevens
2012/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

防止快速重复点击的两种思维

防止重复执行的两种思维 场景 下单时,提交按钮,因为网络卡顿或者手快重复点击,导致重复提交订单; 微博,更新个人状态或发表评论时,快速多次点击[发送]按钮,导致相同的信息发送多次. 解决思路 ...

黄威
24分钟前
0
0
在windows环境下使用Virtualbox虚拟Debian系统来运行Docker

标题绕口。 我之前一直使用 Virtualbox 和 homestead 来运行我的 PHP 开发环境。最近决心开始尝试 DevOps,使得开发、部署容器化,来化解人为操作失误和环境不兼容等问题造成的各种损失。就打...

zgldh
26分钟前
0
0
python map()

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(利用生成器的原理,并不马上返回值,...

南桥北木
40分钟前
0
0
分享几个 SpringBoot 实用的小技巧

前言 最近分享的一些源码、框架设计的东西。我发现大家热情不是特别高,想想大多数应该还是正儿八经写代码的居多;这次就分享一点接地气的: SpringBoot 使用中的一些小技巧。 算不上多高大上...

Java干货分享
40分钟前
1
0
day123-20181021-英语流利阅读-待学习

这款新字体,比记忆面包还管用 Lala 2018-10-21 1.今日导读 字体能跟学习效果有什么关系?你还别说,来自澳洲的心理学家和设计师们,还真创造了一款号称能够帮助大家记忆信息、增强学习效果的...

飞鱼说编程
52分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部