zoukankan      html  css  js  c++  java
  • Struts2 常量配置

    经过前几讲的介绍,我想大家对struts2有了初步的了解,下面让我来讲讲struts2中常量的用法和使用(常量的默认配置struts2-core-2.x.x.x/org/apache/struts2/default.properties文件里)。

    一.常量配置:

             要用常量,首先要通过配置来实现,常量可以在下面多个文件中进行定义,struts2载常量的搜索顺序如下,后面的设置可以覆盖前面的设置:
        default.properties文件
        struts-default.xml
        struts-plugin.xml
        struts.xml
        struts.properties
        web.xml

             注意:

    1.       之所以使用struts.propreties文件配置,是因为为了保持与WebWork的向后兼容

    2.       在实际开发中,在web.xml中配置常量相比其他两种,需要更多的代码量,会降低了web.xml的可读性

    3.       通常推荐在struts.xml文件中配置struts2的常量,而且便于集中管理

    二、常量详解:    

    (1)struts.i18n.encoding=UTF-8       指定默认编码        用法: <constant name="struts.i18n.encoding" value="UTF-8" /> 
    (2)struts.action.extension指定Struts 2处理的请求后缀,默认值是action,即所有匹配*.action的请求都由Struts2处理,如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开     用法:<constant name="struts.action.extension" value="do" />  或者     <constant name="struts.action.extension" value="do,action" /> 
    (3)struts.configuration.xml.reload     当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开     用法:<constant name="struts.configuration.xml.reload" value="true" />  
    (4)struts.devMode           开发模式下使用,默认为false,设置成true,这样可以打印出更详细的错误信息,有助于查找到错误,在开发的时候建议开启,项目发布之后改成false <constant name="struts.devMode" value="true" /> 
    (5)struts.multipart.parser      该属性指定处理 MIME-type multipart/form-data,文件上传方式,有三种方式cos、pell 、jakarta;struts2默认采用第三种方式,如果想用前两种方式,需要去网上下载相应jar包即可    用法: <constant name="struts.multipart.parser" value="cos" />           <constant name="struts.multipart.parser" value="pell" />           <constant name="struts.multipart.parser" value="jakarta" /> 
    (6)struts.multipart.saveDir     指定上传文件时的临时目录,默认使用 javax.servlet.context.tempdir 用法:<constant name="struts.multipart.saveDir" value="/tmpuploadfiles" />       
    (7)struts.multipart.maxSize         该属性指定Struts 2文件上传中整个请求内容允许的最大字节数 默认为2M     用法:<constant name="struts.multipart.maxSize" value="2097152" />   
    (8)struts.ui.theme       默认的视图主题,可以为simple,xhtml或ajax    用法:<constant name="struts.ui.theme" value="simple" />      
    (9)struts.serve.static.browserCache      设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭     用法:<constant name="struts.serve.static.browserCache" value="false" /> 
    (10)struts.enable.SlashesInActionNames 设置是否可以在action中使用斜线,默认为false不可以,设置为true,可以使用     用法:<constant name="struts.enable.SlashesInActionNames" value="true" /> 
    (11)struts.enable.DynamicMethodInvocation     设置是否支持动态方法调用,true为支持,false不支持.     用法:<constant name="struts.enable.DynamicMethodInvocation" value="true" />       下面是一些不常用的常量使用方法,需要了解一下:因为重点是struts2的讲解,所以与spring集成时用到的常量,在讲spring时还将给大家重点讲解,这里就不多说了。 
    1. <!--   
    2.         指定请求url与action映射器,默认为org.apache.struts2.dispatcher.mapper.DefaultActionMapper   
    3.     -->    
    4.     <constant name="struts.mapper.class"    
    5.         value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />    
    6.     <!-- 是否允许使用表达式语法,默认为true. -->    
    7.     <constant name="struts.tag.altSyntax" value="true" />    
    8.     <!-- 模板目录 -->    
    9.     <cosntant name="struts.ui.templateDir" value="template" />    
    10.     <!-- 设置模板类型. 可以为 ftl, vm, or jsp -->    
    11.     <cosntant name="struts.ui.templateSuffix" value="ftl" />    
    12.     <!-- 定位velocity.properties 文件. 默认velocity.properties -->    
    13.     <cosntant name="struts.velocity.configfile" value="velocity.properties" />    
    14.     <!-- 设置velocity的context. -->    
    15.     <cosntant name="struts.velocity.contexts" value="...." />    
    16.     <!-- 定位toolbox -->    
    17.     <cosntant name="struts.velocity.toolboxlocation" value="...." />    
    18.     <!-- 指定web应用的端口 -->    
    19.     <cosntant name="struts.url.http.port" value="80" />    
    20.     <!--    
    21.         该属性指定Struts2应用加载用户自定义的属性文件,该自定义属性文件指定的属性不会覆盖    
    22.         struts.properties文件中指定的属性。如果需要加载多个自定义属性文件,多个自定义属性文    
    23.         件的文件名以英文逗号(,)隔开。(也就是说不要改写struts.properties!)    
    24.     -->    
    25.     <constant name="struts.custom.properties"    
    26.         value="application,org/apache/struts2/extension/custom" />    
    27.    
    28.     <!-- 指定加密端口 -->    
    29.     <cosntant name="struts.url.https.port" value="443" />    
    30.     
    31.     <!-- 设置生成url时,是否包含参数.值可以为: none,get or all -->    
    32.     <cosntant name="struts.url.includeParams" value="get" />    
    33.    
    34.     <!-- 设置要加载的国际化资源文件,以逗号分隔. -->    
    35.     <cosntant name="struts.custom.i18n.resources" value="application" />    
    36.     <!--    
    37.         对于一些web应用服务器不能处理HttpServletRequest.getParameterMap(), 像    
    38.         WebLogic,Orion, and OC4J等,须设置成true,默认为false.    
    39.     -->    
    40.     <cosntant name="struts.dispatcher.parametersWorkaround" value="false" />    
    41.     
    42.     <!-- 指定freemarker管理器 -->    
    43.     <cosntant name="struts.freemarker.manager.classname"    
    44.         value="org.apache.struts2.views.freemarker.FreemarkerManager" />    
    45.     
    46.     <!-- 设置是否对freemarker的模板设置缓存,效果相当于把template拷贝到 WEB_APP/templates. -->    
    47.     <cosntant name="struts.freemarker.templatesCache" value="false" />    
    48.     
    49.     <!-- 通常不需要修改此属性. -->    
    50.     <cosntant name="struts.freemarker.wrapper.altMap" value="true" />    
    51.     
    52.     <!-- 指定xslt result是否使用样式表缓存.开发阶段设为true,发布阶段设为false. -->    
    53.     <cosntant name="struts.xslt.nocache" value="false" />    
    54.     
    55.     <!-- 设置struts自动加载的文件列表. -->    
    56.     <cosntant name="struts.configuration.files"    
    57.         value="struts-default.xml,struts-plugin.xml,struts.xml" />    
    58.     
    59.     <!-- 设定是否一直在最后一个slash之前的任何位置选定namespace. -->    
    60.     <cosntant name="struts.mapper.alwaysSelectFullNamespace"    
    61.         value="false" />    
    62. <!-- spring 托管 与spring集成时需要用到 -->    
    63.     <constant name="struts.objectFactory" value="spring" />    
    64.     
    65.     <!--  指定加载struts2配置文件管理器,默认为org.apache.struts2.config.DefaultConfiguration ,开发者可以自定义配置文件管理器,该类要实现Configuration接口,可以自动加载struts2配置文件。    
    66.     -->    
    67.     <constant name="struts.configuration"    
    68.         value="org.apache.struts2.config.DefaultConfiguration" />    
    69.     
    70.     <!-- 设置默认的locale和字符编码   国际化使用 -->    
    71.     <constant name="struts.locale" value="zh_CN" />    
    72.     <constant name="struts.i18n.encoding" value="UTF-8" />    
    73.     
    74.     <!-- 指定Struts的工厂类 -->    
    75.     <constant name="struts.objectFactory" value="spring"></constant>    
    76.     
    77.     <!--    
    78.         指定spring框架的装配模式,装配方式有: name, type, auto, and constructor (name    
    79.         是默认装配模式)    
    80.     -->    
    81.     <constant name="struts.objectFactory.spring.autoWire" value="name" />    
    82.     
    83.     <!-- 该属性指定整合spring时,是否对bean进行缓存,值为true or false,默认为true -->    
    84.     <cosntant name="struts.objectFactory.spring.useClassCache" />    
    85.     
    86.     <!-- 指定类型检查,包含tiger和notiger -->    
    87.     <cosntant name="struts.objectTypeDeterminer" value="tiger" />  
  • 相关阅读:
    新浪微盘又是一个给力的产品啊,
    InfoQ: 百度数据库架构演变与设计
    列式数据库——Sybase IQ
    MapR初体验 淘宝共享数据平台 tbdata.org
    IBM正式发布新一代zEnterprise大型机(组图) 大型机,IBM,BladeCenter,美国,纽约 TechWeb News
    1TB is equal to the number of how many GB? 1PB equal to is equal to the number of TB? 1EB PB? | PCfault.com
    Cassandra vs HBase | WhyNosql
    The Hadoop Community Effect
    雅虎剥离开源软件平台 Hadoop ,与风投新建 Hortonworks 公司 品味雅虎
    RowOriented Database 、ColumnOriented Database 、KeyValue Store Database 、DocumentOriented Database
  • 原文地址:https://www.cnblogs.com/jasontec/p/9601700.html
Copyright © 2011-2022 走看看