【Struts2学习笔记-3】常量配置

时间:2023-03-08 17:19:03
【Struts2学习笔记-3】常量配置

Struts2常量


配置Struts2常量值有3个地方,1)在struts.properties文件中配置常量;2)在web.xml文件中配置FileterDispatcher指定初始化参数来配置常量;3)在struts.xml文件中使用<constrant.../>元素来配置常量。下面详细说说第一种方式。

1. struts.configuration: 该常量指定加载struts2配置文件的配置文件管理器。该常量的默认值是org.apache.struts2.config.DefaultConfiguration,这是struts2默认的配置文件管理器。如果需要实现自己的配置管理器,可以通过实现一个实现了Configuration借口的类,该类可以自己加载struts2的配置文件。

2. struts.locale: 指定Web应用的默认Locale。

3. struts.i18n.encoding: 指定struts2应用编码的默认使用字符集。该常量对于处理中文请求的参数非常有用,如需获取中文请求参数,应该将该常量值设置为GBK或者GB2312等。

4. struts.objectFactory: 指定struts2默认的ObjectFactory Bean,该常量的默认值是spring。

5. struts.objectFactory.spring.autoWire: 指定Spring框架的自动装配模式,该常量的默认值是name,即默认根据Bean的name进行自动的装配。

6. struts.objectFactory.spring.useClassCache: 该常量指定整合spring框架时,是否缓存Bean实例,该常量只允许true和false两个值,它的默认值是true。

7. struts.objectTypeDeterminer: 该常量指定struts2的类型检测机制,通常支持tiger和notiger两个值。

8. struts.multipart.parser: 该常量指定处理multipart/form-data的MIME类型(文件上传)请求的框架,该常量支持cos、pell和jakarta等常量值,即分别对应于cos的文件上传框架、pell上传及common-fileupload文件上传框架。该常量的默认值是jakarta。

9. struts.multipart.saveDir: 该常量指定上传文件的临时保存路径,该常量的默认值是javax.servlet.context.tempdir.

10. struts.multipart.maxSize: 该常量指定Struts2文件上传中整个请求内容所允许的最大字节数。

11. struts.custom.properties: 该常量指定struts2应用加载用户自定义的属性文件,该属性文件配置的常量不会覆盖struts.properties文件中配置的常量。如果需要加载多个自定义属性文件,多个自定义属性文件应以英文逗号(,)隔开。

12. struts.mapper.class: 指定将Http请求映射到指定的Action的映射器,struts2提供了默认的映射器:org.apache.struts2.dispatcher.mapper.DefaultActionMapper.默认映射器根据请求的前缀于action的name熟悉感完成映射。

13. struts.action.extension: 该常量指定需要struts2处理的请求后缀,该常量的默认值是action,即匹配所有*.action的请求都有struts2处理,如果用户需要指定多个请求后缀,则多个请求后缀之间以英文逗号(,)隔开。

14. struts.serve.static: 该常量指定是否通过JAR文件提供静态内容服务,该常量只支持true和false值,该常量的默认值是true。

15. struts.serve.static.browserCache: 该常量设置浏览器是否缓存静态内容。当应用处于开发阶段是时,我们希望每次的请求都获得服务器最新的响应,则可设置为该常量为false。

16. struts.enable.DynamicMethodInvocation: 该常量设置struts2是否支持动态方法的调用,该常量的默认这值是true。如果需要关闭动态方法调用,设置改常量为false即可。

17. struts.enable.SlashesInActionNames: 该常量设置struts2是否允许action名中使用斜线,该常量的默认值是false。如果希望使用斜线,将该常量值设置成true即可。

18. struts.tag.altSyntax: 该常量指定是否允许在struts2标签中使用表达式语法,因为通常都需要在标签中使用表达式语法,故此常量应该设置为true,该常量的默认值是true。

19. struts.devMode: 该常量设置struts2是否使用开发模式,如果设置改常量为true,在可以在应用出错时显示更多、更友好的出错提示。

20. struts.i18n.reload: 该常量设置是否每次Http请求到达时,系统都重新加载资源文件。该常量的默认值是false。

21. struts.ui.theme: 该常量指定视图标签默认的视图主题,该常量的默认值是xhtml。

22. struts.ui.templateDir: 该常量指定视图主题所需的模板文件的位置。该常量的默认值是template,即默认加载template路径下的模板文件。

23. struts.ui.templateSuffix: 该常量指定模板文件的后缀,该常量的默认值是ftl。该常量还允许ftl、vm或jsp,分别对应于FreeMaker、Velocity和JSP模板。

24. struts.configuration.xml.reload: 该常量设置struts.xml文件改变后,系统是否自动重新加载该文件。该常量的默认值是false。

25. struts.velocity.configfile: 该常量指定Velocity框架所需的velocity.properties文件的位置。该常量的默认值是velocity.properties.

26. struts.velocity.contexts: 该常量指定Velocity框架的context位置,如果该框架有多个context,则多个context之间以英文逗号(,)隔开。

27. struts.velocity.toolboxlocation: 该常量指定velocity框架的toolbox的位置。

28. struts.url.http.port: 该常量指定Web应用所在的监听端口。该常量通常没有太大的用途,只是在struts2需要生成url时,该常量才提供web应用的默认端口。

29. struts.url.https.port: 该常量类似28中的常量作用,区别在于该常量指定的是web应用的加密服务端口。

30. struts.url.includeParams: 该常量指定struts2生成url时是否包含请求参数。该常来那个接受none、get和all三个值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数。

31. struts.custom.i18n.resources: 该常量指定struts2应用所需的国际化资源文件,如果有多份国际化资源文件,则多个资源文件名以英文逗号(,)隔开。

32. struts.dispatcher.parametersWorkaround: 对于某些Java EE服务器,不支持HttpServletRequest调用getParameterMap()方法,设置该常量值为true解决问题,对于WebLogic、Orion和OC4J服务器,通常该设置为true。

33. struts.freemarker.manager.classname: 该常来那个指定struts2使用的FreeMarker管理器。该常量的默认值是org.apache.struts2.views.freemarker.FreeMarkerManager,这是struts2内建的FreeMarker管理器。

34. struts.freemarker.templatesCache: 该常量为true时可以启用FreeMarker的模板缓存功能。该常量的默认值是false。

35. struts.freemarker.beanwrapperCache: 该常量设置为true时可以启用FreeMarker的BeanWrapper缓存功能。该常量的默认值是false。

36. struts.freemarker.wrapper.altMap: 该常量只支持true和false两个值,默认值是true。

37. struts.xslt.nocache: 该常量指定是否关闭XSLT Result的样式表缓存。当应用处于开发阶段,该常量通常被设置为true;当应用处于产品试用阶段,通常设置为fasle。

38. struts.configuration.files: 该常量指定struts2框架默认加载的配置文件,如果需要指定多个加载的配置文件,则多个配置文件之间以英文逗号(,)隔开,该常量的默认值为struts-default.xml,struts-plugin.xml,struts.xml。

39. struts.mapper.alwaysSelectFullNamespace: false。

40. struts.ognl.allowStaticMethodAccess: 设置是否允许在OGNL表达式中调用静态方法,该常量的默认值是false。

看参考:http://my.oschina.net/u/260725/blog/101501   

<http://www.cnblogs.com/binger/archive/2012/07/18/struts2struts-properties.html>
 

配置常量的方式


  1. 通过struts.properties文件;
  2. 通过struts.xml文件;(推荐)
  3. 通过web应用的web.xml文件;

加载常量的顺序

通常,Struts2 框架按照如下搜索顺序加载Struts2常量:
  1. struts-default.xml:该文件保存在struts2-core-2.0.6.jar文件中;
  2. struts-plugin.xml:该文件保存在struts2-Xxx-2.0.6.jar等Struts2插件JAR文件中。
  3. struts.xml:该文件是Web应用默认的Struts2配置文件。
  4. struts.properties:该文件是Web应用默认的Struts2配置文件。
  5. web.xml:该文件是Web应用的配置文件。
如果在多个文件中配置了同一个Struts2常量,则后一个文件中的配置的常量值会覆盖前面文件中配置的常量值。
在不同文件中配置常量的方式是不一样的,但不管哪个文件中,配置Struts2常量都要指定两个属性:常量name和常量value。