com/opensymphony/webwork/default.properties是webwork的重要文件,它對webwork的參數進行了配置,其中包含了webwork支持的所有配置,如果你想覆蓋其中的配置,只需要建立一個webwork.properties放在你的項目中(一般放在源碼目錄下,發布時的位置是WEB-INF/classes下).
讓我們來看看在webwork 2.2中這個文件發生了什么變化.
1.可以配置webwork.objectFactory
# if specified, the default object factory can be overridden here
#webwork.objectFactory = com.opensymphony.xwork.spring.SpringObjectFactory
這個ObjectFactory是一個功能很大的類,默認webwork使用的是com.opensymphony.xwork.ObjectFactory,如果你想自己實現一個或者使用Spring的機制,可以配置這個屬性.不過在沒有更詳細的文檔出來之前,一定要小心使用.
SpringObjectFactory類中主要覆寫了ObjectFactory的buildBean,并沒有替換其他函數.
2.webwork.mapper.class
# extension for actions
webwork.mapper.class=com.opensymphony.webwork.dispatcher.mapper.DefaultActionMapper
webwork.action.extension=action
可以看到,增加了一行webwork.mapper.class.
DefaultActionMapper以及同目錄下RestfulActionMapper相當于以前的普通action url路徑處理和CoolUriServletDispatcher映射方式處理,在webwork2.2中,如果想使用CoolUriServletDispatcher的方式,在此處修改這個屬性為RestfulActionMapper即可.
當然,你可以實現自己的ActionMapper,實現自己的想法,很多人都喜歡自己來處理url,那就自己寫一個,不錯的想法.
3.webwork.tag.altSyntax=true
altSyntax語法默認為打開了,參考前面的文章
4.webwork.i18n.reload
# when set to true, resource bundles will be reloaded on _every_ request.
# this is good during development, but should never be used in production
webwork.i18n.reload=false
如果設置為true,每次資源文件都會被重載,方便調試.發布后一定要記得改為false.
5.webwork.ui.templateSuffix
#sets the default template type. Either ftl, vm, or jsp
webwork.ui.templateSuffix=ftl
Tag模板的默認配置為freemarker的ftl了,以前是vm的.
6.webwork.dispatcher.parametersWorkaround
# workaround for some app servers that don't handle HttpServletRequest.getParameterMap()
# often used for WebLogic, Orion, and OC4J
webwork.dispatcher.parametersWorkaround = false
這個是為了處理一些web server的非常規的運作行為的,具體我就沒試過了.
注意:最后發布的版本可能還會有一些變化,以最后發布的版本為準.