zoukankan      html  css  js  c++  java
  • struts2-convention-plugin零配置

    零配置的意思并不是说没有配置,而是通过约定大于配置的方式,大量通过约定来调度页面的跳转而使得配置大大减少。

    <?xml version="1.0" encoding="UTF-8" ?> 
    <!DOCTYPE struts PUBLIC 
        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" 
        "http://struts.apache.org/dtds/struts-2.3.16.dtd">
    
    <struts>
        <!--
        使用Convention插件,你需要将其JAR文件convention-plugin放到你应用的WEB-INF/lib目录中,
        你也可以在你Maven项目的POM文件中添加下面包依赖    
        <dependency>  
          <groupId>org.apache.struts</groupId>  
          <artifactId>struts2-convention-plugin</artifactId>  
          <version>2.1.6</version>  
        </dependency>  
        -->
        
        <!-- 在开发模式下,struts2的动态重新加载配置和资源文件的功能会默认生效。同时开发模式下也会提供更完善的日志支持。-->
        <constant name="struts.devMode" value="true" />
        
        <!--  主要用于设置请求编码(默认值(UTF-8)) ,Head和Include标签的解析编码。  资源和配置文件的解析编码。-->
        <constant name="struts.i18n.encoding" value="UTF-8" />
        
        <!-- 默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置path这个属性的值来改变到其他路径  -->
        <constant name="struts.convention.result.path" value="/WEB-INF/page" />  
        
        <!-- 自定义jsp文件命名的分隔符 -->
        <constant name="struts.convention.action.name.separator" value="_" />
        
        <!-- 配置Convention插件自动重加载映射 是否自动重新编译class文件 -->
        <constant name="struts.convention.classes.reload" value="true" />
        
        <!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开  -->    
        <constant name="struts.configuration.xml.reload" value="true"/>    
        
        <!-- 用于配置类名后缀,默认为Action,设置后,Struts2只会去找这种后缀名的类做映射 -->
        <constant name="struts.convention.action.suffix" value="Action" />
        
        <!--  设置struts的Action请求的后缀,支持多个时以逗号隔开 -->
        <constant name="struts.action.extension" value=",shtml" />
        
        <!-- 这个表示包路径包含action和actions的将被视为Action存在的路径来进行搜索-->
        <constant name="struts.convention.package.locators" value="action,actions" />
        
        <!-- 不进行扫描的包,用,分割,被包含的包,将不会被扫描成为action -->
        <constant name="struts.convention.exclude.packages" value="com.lapp.service" />
        
        <!-- 进行扫描的根包,该包会被扫描成action -->
        <constant name="struts.convention.action.packages" value="com.lapp.action" />
        
        <!--
        命名空间定义:从.package.locators标示开始到包结束的部分,就是命名空间
        Com.ustb.web.user.userAction的命名空间是:”/user”。 
        Com.ustb.web.user.detail.UserAction的命名空间是:”/user/detail” 
        -->
        <!-- 设置struts2的对象工厂,默认(struts)-->
        <constant name="struts.objectFactory" value="spring" />
        
        <!-- 默认返回的结果类型搜索。按顺序先找相关的dispatcher的jsp文件是否存在。然后再找velocity,再找freemarker,jsp -->
        <constant name="struts.convention.relative.result.types" value="dispatcher,velocity,freemarker,jsp" />
        
         <package name="default" extends="struts-default">
            <interceptors>
                <interceptor name="loginInterceptor" class="com.lapp.interceptor.AuthInterceptor" />
                <!-- 配置拦截器  Action中用注解:@InterceptorRef("loginStack")-->
                <interceptor-stack name="loginStack">
                    <interceptor-ref name="loginInterceptor" />
                    <interceptor-ref name="defaultStack" />
                </interceptor-stack>
                
            </interceptors>
            <global-results>
                <result name="login" type="redirect">/login</result>
            </global-results>
        </package> 
    </struts>
  • 相关阅读:
    2017-2018-1 20155338 《信息安全系统设计基础》 第三周学习总结
    2017-2018-1 20155338 《信息安全系统设计基础》 第二周课堂测试
    2017-2018-1 20155338 《信息安全系统设计基础》第1周学习总结
    20155338 2016-2017-2 《JAVA程序设计》课程总结
    20155338 《JAVA程序设计》实验五网络编程与安全实验报告
    20155338 2016-2017-2《Java程序设计》实验四Android程序开发实验报告
    20155338 《Java程序设计》实验三(敏捷开发与XP实践)实验报告
    20155338 2016-2017-2 《Java程序设计》第10周学习总结
    【私人向】Java复习笔记
    2017-2018-1 20155316 《信息安全系统设计基础》第2周学习总结
  • 原文地址:https://www.cnblogs.com/zhaojinhui/p/4968297.html
Copyright © 2011-2022 走看看