• struts.xml语法


    <!-- 
          
        1. struts.xml配置常量, 用来覆盖struts.properties中的默认常量配置
            一般情况下, 这个配置放在struts.xml中, 不要放在各个模块的xml中.
            constant元素和package是同一个级别的
        <struts>
            <constant name="" value=""></constant>
        </struts>
        
        2. 模块xml配置文件引入
        ```
        <struts>
            <include file="各个模块的xml配置文件"></include>
        </struts>
        ```
        
        3. 常用常量
            1)开发模式:修改struts.xml之后,不用重启Tomcat. 
                devMode模式是开发模式,开启它则默认开启了i18n.reload、configuration.xml.reload.
                <constant name="struts.devMode" value="true" />
            2)设置当struts的配置文件修改后,系统是否自动重新加载该文件: 默认值为false(生产环境下使用),开发阶段最好打开
                <constant name="struts.configuration.xml.reload" value="true"/>
            3)指定每次请求到达,重新加载资源文件
                <constant name="struts.i18n.reload" value="true"/>
            4)指定XSLT Result使用样式表缓存
                <constant name="struts.xslt.nocache" value="true"/>
            5)设置actionName的后缀: 默认值是action,即所有匹配*.action的请求都由Struts2处理。
                如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开
                <constant name="struts.action.extension" value="action,,"/>
            6)默认的视图主题 
                <constant name="struts.ui.theme" value="simple" />
            7)设置浏览器是否缓存静态内容: 默认值为true(生产环境下使用),开发阶段最好关闭 
                true: 表示有缓存, false:表示没有缓存
                <constant name="struts.serve.static.browserCache" value="false"/>
            8)设置是否支持动态方法调用
                <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
            9)指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出
                <constant name="struts.i18n.encoding" value="UTF-8"/>
            8)...
            
        4. 各个元素
            1)package: 是struts.xml根元素(strtus)的子元素. 用来管理多个action元素.
                * 格式为:
                    <package name="" extends="" namespace="" abstract="true/false">
                * 用法: 一个模块分出一个<package>元素.
                * 常用的属性:
                    - name: 表示当前<package>元素的名称,多个<package>元素的name不能相同.
                    - extends: 自定义的<package>元素必须继承于包struts-default或其的子包.
                    - namespace: 命名空间,和actionName共同决定了一个action的访问路径, 与程序中的命名空间的作用类似.
                    - abstract: 表示当前<package>元素是否是抽象的.
                         如果为true,那么当前<package>就不能定义action元素,只能用于被其他<package>所继承.
            2)action: 是<package>元素的子元素,用于配置Action类. 表示对一次请求的动作的配置:找哪一个类的哪一个方法.
                * 语法:<action name="" class="" method="">
                * 常用属性:
                    - name: action的名称,该名称和当前action所在package的namespace共同决定了访问路径.
                        访问Action的格式:http://host:port/contextPath/namsspace/actionName[.action]
                        注意:action名称没有/,在同一个<package>不能同名.
                    - class: Action类的全限定名,表示把哪一个Action对象交给Strtus2框架来管理.
                        class的默认值:com.opensymphony.xwork2.ActionSupport.
                    - method: 当前action需要执行哪一个方法.
                        method的默认值:execute.
            3)result元素:是<action/>元素的子元素,表示对应的action的执行结果: `action执行完成后输出哪个页面`.
                * 语法格式:<result name="" type=""></result>
                * 分类: 先在当前的Action中找, 找不到就去找<global-results>中的result, 如果还找不到→报错;
    - 全局: 配置在<package>元素中的<global-results>元素里面,<package>下的所有Action都可以跳转进去.
    - 局部: 配置在<action>元素里面,就只能在当前Action中跳转.
    $ 在配置的时候需要先配置global, 然后才能配置action * 常用属性及文本: - name属性: 同一个action中的result的name不能同名,该name就是action方法的返回结果.默认值:success.
    - type属性: 表示资源的跳转方式(请求转发/URL重定向...),这些属性存放在struts-default包.默认:dispatcher. ~ dispatcher: 请求转发:(Action请求转发到JSP),是默认值. ~ redirect: URL重定向:(Action重定向到JSP). ~ chain: 请求转发:(Action请求转发到Action). ~ redirectAction: URL重定向:(Action重定向到Action). ~ stream: 文件下载. - innerText: 表示需要跳转资源的路径.
    -->
  • 相关阅读:
    testNg vs junit 4.X @Test
    lombok+slf4j+logback SLF4J和Logback日志框架详解
    IntelliJ IDEA 当pom.xml更新时,自动加载pom.xml
    运算符重载具体解释
    设计模式之十八:桥接模式(Bridge)
    无限层级的组织机构
    实战Jquery(一)--username校验
    Android错误之--Error retrieving parent for item: No resource found that matches the given name &#39;Theme.A
    hibernate 缓存
    android --多线程下载
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/6527570.html
Copyright © 2020-2023  润新知