Struts2配置文件详解二

1.2     struts.xml

struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。还可以使用<constant name="" value=""></constant>配置struts.properties中的属性

 

1.2.1  跳转类型

chainAction链式处理的结果类型,也就是将结果转发到这个action中。
chart:整合JFreeChart的结果类型
dispatcher:用于整合JSP的结果类型
freemarker:用于整合freemarker结果类型。
httpheader:用于控制特殊的HTTP行为的结果类型。
jasper:用于JasperReports整合的结果类型
jsf:用于整合JSF后的结果类型
redirect:实际上dispatcherredirect的区别就是在于转发和重定向的区别。
redirectAction:用于直接redirect action
stream:用于向浏览器返回一个Inputstream(用于文件下载)
tiles:用于整合Tiles后的结果类型。
velocity:用于整合Velocity的结果类型。
xslt:用于整合XML LT的结果类型。
plaintext:用于显示某个页面的源代码。

 

1.2.2  示例1

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

 

    <constant name="struts.custom.i18n.resources"

       value="ApplicationResources,Constant">

    </constant>

    <constant name="struts.devMode" value="false" />

    <constant name="struts.i18n.encoding" value="UTF-8" />

    <constant name="struts.objectFactory" value="spring" />

    <include file="struts/struts-manage.xml" />

 

    <package name="default" extends="struts-default">

       <interceptors>

           <interceptor name="userLoginInterceptor"

              class="***.interceptors.UserLoginInterceptor">

           </interceptor>

           <interceptor-stack name="userLoginStack">

              <interceptor-ref name="userLoginInterceptor"></interceptor-ref>

              <interceptor-ref name="defaultStack"></interceptor-ref>

           </interceptor-stack>

       </interceptors>

 

       <!-- 全局跳转 ,继承于这个包的包将都会有一个默认的全局跳转页面-->

       <global-results>

           <result name="login">/commons/error/login.jsp</result> 

           <result>/commons/success.jsp</result>

           <result name="error">/commons/error/actionerror.jsp</result>

           <result name="input">/commons/error/actionerror.jsp</result>

           <result name="certerror">

              /commons/error/certerror.jsp

           </result>

           <result name="exception">/commons/error/error.jsp</result>

       </global-results>

      

       <global-exception-mappings>

           <exception-mapping result="exception" exception="***.common.exception.BusinessException">

           </exception-mapping>

           <exception-mapping result="exception" exception="***.common.exception.DataException">

           </exception-mapping>

           <exception-mapping result="exception" exception="***.common.util.lucenesearch.exceptions.LunceneSearchException">

           </exception-mapping>

           <exception-mapping result="exception" exception="java.lang.RuntimeException">

           </exception-mapping>

           <exception-mapping result="exception" exception="java.lang.Exception">

           </exception-mapping>

       </global-exception-mappings>

    </package>

<!-- 管理模块继承的package,管理模块可以和其他模块分开定义全局跳转及异常等  -->

    <package name="books-manage" extends="default">

       <interceptors>

           <interceptor name="userManageLogin"

              class="***.interceptors.UserManageInterceptor" />

           <!-- 自定义拦截器堆栈 -->

           <interceptor-stack name="adminStack">

              <interceptor-ref name="userManageLogin" />

              <!-- 引用默认的拦截器堆栈,如果不用defaultStack,则表单值将会被页面跳转后返回-->

              <interceptor-ref name="defaultStack" />

           </interceptor-stack>

           <interceptor name="bookManageTopNavigatorInterceptor"

              class="***.interceptors.BookManageTopNavigatorInterceptor" />

           <interceptor-stack name="bookManageTopNavigatorStack">

              <interceptor-ref name="bookManageTopNavigatorInterceptor" />

              <interceptor-ref name="adminStack" />

           </interceptor-stack>

       </interceptors>

       <default-interceptor-ref name="adminStack" />

       <global-results>

           <result name="login">/login.jsp</result>

       </global-results>

    </package>

</struts>

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值