首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts 2 核心配置屬性詳解:struts.properties 完整參考手冊

     編輯:Java 相關知識

前言:掌握配置,駕馭框架行為

struts.properties(或 struts.xml 中的 <constant>)是控制 Struts 2 運行時行為的中樞。本文整理了官方文檔中的核心屬性,按功能分類並附上中文說明與典型取值,供開發查閱。

1. 動作映射與擴展名

屬性名說明預設值 / 範例
struts.action.extensionURL 擴展名,用於識別請求是否映射到 Struts Actionaction、do、jspa(如 login.do)
struts.enable.DynamicMethodInvocation是否允許 URL 動態調用方法(如 action!method.action)true / false(生產建議關閉)

2. 核心配置與加載

屬性名說明預設值 / 範例
struts.configurationConfiguration 實作類全限定名org.apache.struts2.config.Configuration
struts.configuration.files啟動時自動加載的配置檔列表(逗號分隔)struts-default.xml,struts-plugin.xml,struts.xml
struts.configuration.xml.reload開發模式下是否熱重載 XML 配置true / false

3. 開發模式與除錯

屬性名說明預設值
struts.devMode開發模式:啟用詳細錯誤頁、配置熱重載、OGNL 表達式除錯等false(生產必須關閉)

4. 國際化(i18n)

屬性名說明預設值 / 範例
struts.custom.i18n.resources額外加載的國際化資源檔(不含 .properties 後綴)globalMessages,myApp
struts.i18n.encoding國際化訊息編碼UTF-8
struts.i18n.reload是否自動重載國際化資源檔false
struts.locale預設 Localezh_CN、en_US

5. 多部分請求(檔案上傳)

屬性名說明預設值 / 範例
struts.multipart.maxSize單次上傳最大尺寸(位元組)2097152 (2MB)
struts.multipart.parserMultiPartRequest 解析器實作org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest
struts.multipart.saveDir上傳檔案臨時儲存目錄系統臨時目錄

6. 物件工廠與 Spring 整合

屬性名說明預設值
struts.objectFactoryObjectFactory 實作類(Spring 整合必設)com.opensymphony.xwork2.spring.SpringObjectFactory
struts.objectFactory.spring.autoWireSpring 是否自動裝配 Actiontrue
struts.objectFactory.spring.useClassCacheSpring 是否使用類快取true

7. 靜態資源服務

屬性名說明預設值
struts.serve.staticStruts Filter 是否直接服務靜態資源(CSS/JS/圖片)true
struts.serve.static.browserCache靜態資源是否設定瀏覽器快取 Headertrue

8. UI 模板與主題

屬性名說明預設值
struts.ui.theme預設 UI 主題xhtml、simple、css_xhtml
struts.ui.templateDirUI 模板目錄template
struts.tag.altSyntax是否啟用標籤替代語法false

9. Freemarker / Velocity / XSLT 整合

屬性名說明備註
struts.freemarker.manager.classnameFreemarkerManager 實作類自定義指令/共享變數時用
struts.velocity.configfileVelocity 配置檔路徑
struts.velocity.toolboxlocationVelocity Toolbox 位置
struts.xslt.nocacheXSLT 模板是否禁用快取false

10. URL 生成與端口

屬性名說明預設值
struts.url.http.port生成 HTTP URL 使用的埠80
struts.url.https.port生成 HTTPS URL 使用的埠443
struts.url.includeParamsURL 生成時預設包含請求參數模式none/get/all

11. 範例配置片段

struts.i18n.reload=true
struts.devMode = true
struts.configuration.xml.reload=true
struts.continuations.package=org.apache.struts2.showcase
struts.custom.i18n.resources=globalMessages
# struts.action.extension=jspa
struts.url.http.port = 8080
struts.freemarker.manager.classname=customFreemarkerManager
struts.serve.static=true
struts.serve.static.browserCache=false
struts.codebehind.defaultPackage=person

最佳實踐提醒

  • 生產環境務必設定 struts.devMode=false,避免效能損耗與資訊洩露。
  • 檔案上傳大小限制 struts.multipart.maxSize 需配合伺服器容器設定(如 Tomcat maxPostSize)。
  • Spring 整合時,struts.objectFactory 指向 SpringObjectFactory 並確保 Spring 容器已啟動。
  • 靜態資源建議由 Nginx/Apache 直接服務,生產環境可關閉 struts.serve.static。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved