Struts2的default.properties和struts.properties檔案

來源:互聯網
上載者:User

struts-default.xmldefault.propertiesStruts2非常重要的兩個預設的設定檔
org.apache.struts2包中的default.properties中定義了許多Struts2的全域屬性
我們可以在struts.xml中使用<constant/>修改這些全域常量,以實現我們的某種目的

其實它的大多數屬性都沒有必要修改,很多屬性也不必知道具體含義,因為很少用得上
除非極特殊情況,可能要用到一些生僻屬性,這時可以去Struts2官網上查看協助文檔

第33行的struts.i18n.encoding預設的UTF-8可以修改為GBK以解決上傳檔案時亂碼情況
第65行的struts.multipart.saveDir屬性,用來指定檔案上傳時所使用的臨時目錄
第66行的struts.multipart.maxSize屬性,用來設定上傳檔案的合計大小,預設為2MB
第63行的struts.multipart.parser屬性,用來指定Struts2所支援的三種檔案上傳的方式
                                                  預設使用的是jakarta,即使用commons-fileupload組件
                                                  若使用其它兩種上傳方式的話,同樣需要顯式引入它們的Jar檔案
                                                  但是通常情況下使用jakarta就可以,三者都是差不多的
第76行的struts.action.extension屬性,用來設定請求的尾碼名,預設值為action
                                                  我們同樣可以通過<constant/>標籤或struts.properties檔案重新設定它的尾碼值
                                                  修改尾碼值時,struts.xml中有關<action/>的配置是不需要任何更改的,應用會照常執行
第158行struts.custom.i18n.resources屬性,用來指定國際化的全域資源檔
                                                  比如<constant name="struts.custom.i18n.resources" value="message"/>
                                                  則所指定的國際化資源檔即message.properties,它應與struts.xml位於相同目錄中
                                                  準確來說,最後的目標是將該檔案儲存在//WebRoot//WEB-INF//classes//目錄下
                                                  若同時設定兩個資源檔,如<constant name="…i18n…" value="message,test"/>
                                                  那麼後面的資源檔中的key值將覆蓋前面的資源檔中的相同key

Struts2的設定檔不僅僅包括struts.xml檔案,還有其它的,比如struts.properties
org.apache.struts2.default.properties的第23行有如下說明
###(can be overridden by a struts.properties file in the root of the classpath)
即在classpath的根路徑下的一個叫做struts.properties的檔案可以覆蓋掉Struts的預設屬性
至此可以通過<constant/>或在src下建立struts.properties檔案修改Struts2全域屬性
不建議同時使用這兩種方式。因為若二者修改了同一屬性的話,還要考慮二者的優先順序
而且研究這兩種方式的優先順序高低,並沒有太大的實際意義。所以推薦只使用一種方式

另外還有一種方式可以實現初始化default.properties中的參數。但極力不建議大家使用
那就是在web.xml中通過<init-param/>標籤設定Struts2的全域常量
這種方式的缺點是:①繁瑣,配置一個屬性需要寫4行代碼。②不直觀。因此瞭解即可,沒必要掌握
但是在web.xml中配置的全域常量的優先順序卻要高於<constant/>struts.properties

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.