Struts2的一些常量和含義的應用 – JAVA編程語言程序開發技術文章

首先,當我們學習一個框架的時,一般可以參考框架自帶的示例項目。例如struts2,剛入門的時候,可以參考其自帶的blank項目。當部署完這個項目後,開啟tomcat服務,在地址欄裡輸入請求的action路徑時,可以發現,雖然沒有給該action定義擴展名,但是地址裡輸入的action路徑沒有擴展名或者擴展名為action時都可以通過。為什麼呢?這是由struts2的默認配置屬性決定的。
 
 
 
常量的默認配置在struts2-core-2.1.8.1/org/apache/struts2/default.properties文件裡,像定義訪問action的默認擴展名、開發模式設置、i18n以及默認字符編碼等等,例如struts.action.extension=action,,。
 
 
 
應當註意的是,一般情況不要修改框架系統的原始文件,如果要更改默認的配置項,可以采用覆蓋的方式。struts.xml是struts2的基本配置文件之一。該文件內可以配置多個常量,以覆蓋默認的常量配置,例如<constant name="struts.action.extension" value="do,," />表示action的可用擴展名為do或者不用擴展名。
 
 
 
常量可以在下面多個文件中進行定義,struts2加載常量的搜索順序如下,後面的設置可以覆蓋前面的設置:
default.properties文件
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties(為瞭與webwork向後兼容而提供)
web.xml
 
 
 
下面列舉幾個常用的常量
 
 
### This can be used to set your default locale and encoding scheme 
# struts.locale=en_US 
struts.i18n.encoding=UTF-8//指定默認編碼 
### This can be used to set your default locale and encoding scheme
# struts.locale=en_US
struts.i18n.encoding=UTF-8//指定默認編碼
 
 
 
 
# uses javax.servlet.context.tempdir by default 
struts.multipart.saveDir= 
struts.multipart.maxSize=2097152//上傳文件大小限制 
# uses javax.servlet.context.tempdir by default
struts.multipart.saveDir=
struts.multipart.maxSize=2097152//上傳文件大小限制
 
 
 
 
### Used by the DefaultActionMapper 
### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do 
### The blank extension allows you to match directory listings as well as pure action names 
### without interfering with static resources. 
struts.action.extension=action,,//指定處理請求的後綴 
### Used by the DefaultActionMapper
### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do
### The blank extension allows you to match directory listings as well as pure action names
### without interfering with static resources.
struts.action.extension=action,,//指定處理請求的後綴
 
### Used by FilterDispatcher 
### This is good for development where one wants changes to the static content be 
### fetch on each request. 
### NOTE: This will only have effect if struts.serve.static=true 
### If true -> Struts will write out header for static contents such that they will 
###             be cached by web browsers (using Date, Cache-Content, Pragma, Expires) 
###             headers). 
### If false -> Struts will write out header for static contents such that they are 
###            NOT to be cached by web browser (using Cache-Content, Pragma, Expires 
###            headers) 
struts.serve.static.browserCache=true// www.aiwalls.com 指定是否緩存靜態資源,開發的時候最好關閉 
### Used by FilterDispatcher
### This is good for development where one wants changes to the static content be
### fetch on each request.
### NOTE: This will only have effect if struts.serve.static=true
### If true -> Struts will write out header for static contents such that they will
###             be cached by web browsers (using Date, Cache-Content, Pragma, Expires)
###             headers).
### If false -> Struts will write out header for static contents such that they are
###            NOT to be cached by web browser (using Cache-Content, Pragma, Expires
###            headers)
struts.serve.static.browserCache=true//指定是否緩存靜態資源,開發的時候最好關閉
 
### when set to true, Struts will act much more friendly for developers. This 
### includes: 
### – struts.i18n.reload = true 
### – struts.configuration.xml.reload = true 
### – raising various debug or ignorable problems to errors 
###   For example: normally a request to foo.action?someUnknownField=true should 
###                be ignored (given that any value can come from the web and it 
###                should not be trusted). However, during development, it may be 
###                useful to know when these errors are happening and be told of 
###                them right away. 
struts.devMode = false//開發時候設置為trus可以開發出更加詳細的信息 
### when set to true, Struts will act much more friendly for developers. This
### includes:
### – struts.i18n.reload = true
### – struts.configuration.xml.reload = true
### – raising various debug or ignorable problems to errors
###   For example: normally a request to foo.action?someUnknownField=true should
###                be ignored (given that any value can come from the web and it
###                should not be trusted). However, during development, it may be
###                useful to know when these errors are happening and be told of
###                them right away.
struts.devMode = false//開發時候設置為trus可以開發出更加詳細的信息
 
### Standard UI theme 
### Change this to reflect which path should be used for JSP control tag templates by default 
struts.ui.theme=xhtml//設置默認視圖,最好為simple 
### Standard UI theme
### Change this to reflect which path should be used for JSP control tag templates by default
struts.ui.theme=xhtml//設置默認視圖,最好為simple
 
### Configuration reloading 
### This will cause the configuration to reload struts.xml when it is changed 
struts.configuration.xml.reload=false//設置為True一旦Struts.xml文件修改就自動加載

摘自 小憤青

發佈留言