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的非常规的运作行为的,具体我就没试过了.
注意:最后发布的版本可能还会有一些变化,以最后发布的版本为准.