struts2-基于注解的Action配置

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包

105233_m8Xi_2887289.png

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

转载于:https://my.oschina.net/higuy/blog/754544

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值