Struts2 常量配置
生活随笔
收集整理的這篇文章主要介紹了
Struts2 常量配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
經過前幾講的介紹,我想大家對struts2有了初步的了解,下面讓我來講講struts2中常量的用法和使用(常量的默認配置struts2-core-2.x.x.x/org/apache/struts2/default.properties文件里)。 <!--??? ????????指定請求url與action映射器,默認為org.apache.struts2.dispatcher.mapper.DefaultActionMapper??? ????-->???? ????<constant?name="struts.mapper.class"???? ????????value="org.apache.struts2.dispatcher.mapper.DefaultActionMapper"?/>???? ????<!--?是否允許使用表達式語法,默認為true.?-->???? ????<constant?name="struts.tag.altSyntax"?value="true"?/>???? ????<!--?模板目錄?-->???? ????<cosntant?name="struts.ui.templateDir"?value="template"?/>???? ????<!--?設置模板類型.?可以為?ftl,?vm,?or?jsp?-->???? ????<cosntant?name="struts.ui.templateSuffix"?value="ftl"?/>???? ????<!--?定位velocity.properties?文件.?默認velocity.properties?-->???? ????<cosntant?name="struts.velocity.configfile"?value="velocity.properties"?/>???? ????<!--?設置velocity的context.?-->???? ????<cosntant?name="struts.velocity.contexts"?value="...."?/>???? ????<!--?定位toolbox?-->???? ????<cosntant?name="struts.velocity.toolboxlocation"?value="...."?/>???? ????<!--?指定web應用的端口?-->???? ????<cosntant?name="struts.url.http.port"?value="80"?/>???? ????<!--???? ????????該屬性指定Struts2應用加載用戶自定義的屬性文件,該自定義屬性文件指定的屬性不會覆蓋???? ????????struts.properties文件中指定的屬性。如果需要加載多個自定義屬性文件,多個自定義屬性文???? ????????件的文件名以英文逗號(,)隔開。(也就是說不要改寫struts.properties!)???? ????-->???? ????<constant?name="struts.custom.properties"???? ????????value="application,org/apache/struts2/extension/custom"?/>???? ??? ????<!--?指定加密端口?-->???? ????<cosntant?name="struts.url.https.port"?value="443"?/>???? ???? ????<!--?設置生成url時,是否包含參數.值可以為:?none,get?or?all?-->???? ????<cosntant?name="struts.url.includeParams"?value="get"?/>???? ??? ????<!--?設置要加載的國際化資源文件,以逗號分隔.?-->???? ????<cosntant?name="struts.custom.i18n.resources"?value="application"?/>???? ????<!--???? ????????對于一些web應用服務器不能處理HttpServletRequest.getParameterMap(),?像???? ????????WebLogic,Orion,?and?OC4J等,須設置成true,默認為false.???? ????-->???? ????<cosntant?name="struts.dispatcher.parametersWorkaround"?value="false"?/>???? ???? ????<!--?指定freemarker管理器?-->???? ????<cosntant?name="struts.freemarker.manager.classname"???? ????????value="org.apache.struts2.views.freemarker.FreemarkerManager"?/>???? ???? ????<!--?設置是否對freemarker的模板設置緩存,效果相當于把template拷貝到?WEB_APP/templates.?-->???? ????<cosntant?name="struts.freemarker.templatesCache"?value="false"?/>???? ???? ????<!--?通常不需要修改此屬性.?-->???? ????<cosntant?name="struts.freemarker.wrapper.altMap"?value="true"?/>???? ???? ????<!--?指定xslt?result是否使用樣式表緩存.開發階段設為true,發布階段設為false.?-->???? ????<cosntant?name="struts.xslt.nocache"?value="false"?/>???? ???? ????<!--?設置struts自動加載的文件列表.?-->???? ????<cosntant?name="struts.configuration.files"???? ????????value="struts-default.xml,struts-plugin.xml,struts.xml"?/>???? ???? ????<!--?設定是否一直在最后一個slash之前的任何位置選定namespace.?-->???? ????<cosntant?name="struts.mapper.alwaysSelectFullNamespace"???? ????????value="false"?/>???? <!--?spring?托管?與spring集成時需要用到?-->???? ????<constant?name="struts.objectFactory"?value="spring"?/>???? ???? ????<!--??指定加載struts2配置文件管理器,默認為org.apache.struts2.config.DefaultConfiguration?,開發者可以自定義配置文件管理器,該類要實現Configuration接口,可以自動加載struts2配置文件。???? ????-->???? ????<constant?name="struts.configuration"???? ????????value="org.apache.struts2.config.DefaultConfiguration"?/>???? ???? ????<!--?設置默認的locale和字符編碼???國際化使用?-->???? ????<constant?name="struts.locale"?value="zh_CN"?/>???? ????<constant?name="struts.i18n.encoding"?value="UTF-8"?/>???? ???? ????<!--?指定Struts的工廠類?-->???? ????<constant?name="struts.objectFactory"?value="spring"></constant>???? ???? ????<!--???? ????????指定spring框架的裝配模式,裝配方式有:?name,?type,?auto,?and?constructor?(name???? ????????是默認裝配模式)???? ????-->???? ????<constant?name="struts.objectFactory.spring.autoWire"?value="name"?/>???? ???? ????<!--?該屬性指定整合spring時,是否對bean進行緩存,值為true?or?false,默認為true?-->???? ????<cosntant?name="struts.objectFactory.spring.useClassCache"?/>???? ???? ????<!--?指定類型檢查,包含tiger和notiger?-->???? ????<cosntant?name="struts.objectTypeDeterminer"?value="tiger"?/>??
一.常量配置:
???????? 要用常量,首先要通過配置來實現,常量可以在下面多個文件中進行定義,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時還將給大家重點講解,這里就不多說了。? [java] view plaincopy轉載于:https://www.cnblogs.com/jasontec/archive/2013/01/10/9601700.html
總結
以上是生活随笔為你收集整理的Struts2 常量配置的全部內容,希望文章能夠幫你解決所遇到的問題。