【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。

来自为知笔记(Wiz)

时间: 2024-10-10 12:14:47

【Struts2学习笔记-3】常量配置的相关文章

struts2学习笔记(6)------配置struts2中的异常处理

我们平常的异常处理是直接在方法中手动捕捉异常,当捕捉到特定异常后,返回特定逻辑视图名.这样的缺点是代码与异常处理耦合太多,一旦要改变异常处理方式,需要修改代码! struts2提供给了一种更好的方式来处理异常------声明式的方式管理异常处理,我们可以通过再方法里将出现的异常throw出去,抛给struts2框架处理,然后再struts2中默认开启着异常映射功能,该功能在struts-default.xml中配置的一个拦截器,如下: <interceptor name="exceptio

struts2学习笔记(5)----------配置result

Action只负责处理请求,负责生成响应的视图组件,一般是JSP页面,而Action为JSP页面提供显示的数据.Action处理请求结束后,控制器根据<result>元素配置的逻辑视图跟物理视图之间的关系来响应. 浏览器,控制器和视图资源的顺序图如下: 如图所示,Action处理完一个请求后,并未直接把请求转发给任何具体的视图资源,而是返回给一个逻辑视图,struts2框架收到这个逻辑视图后,把请求转发到对应的物理视图资源,试图资源将结果呈现给用户. 1)result基本配置 struts2提

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/

struts2学习笔记(8)-------struts2的ajax支持

struts2支持一种stream类型的Result,这种类型的Result可以直接向客户端浏览器响应二进制,文本等, 我们可以再action里面生成文本响应,然后在客户端页面动态加载该响应即可. 直接看例子: public class LoginAction { private String user; private String pass; private InputStream inputStream; public InputStream getInput(){ return inpu

Struts2 学习笔记(概述)

Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并实现应用的功能.通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 封装应用状态:某些应用数据封装起来,使得视图只能通过接口获取对应的数据 响应状态查询:对应用的状态改变进行处理 暴露应用功能:暴露接口 通

struts2学习笔记(一)

一.struts2和struts1的区别 1.Action类 a) Struts1要求Action类继承于一个抽象类,Struts1普遍使用抽象类编程而不是接口 b) Struts2的Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去实现常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以作为Struts2的Action对象. 2.线程模式 a) Struts1的Act

struts2学习笔记(7)------------ognl表达式

OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言. Struts2自行维护一个特定范围的"银行",Action将数据放入其中,而JSP页面可从中取数据,表面上似乎看起来像是jsp可以直接访问Action数据.. 当Action属性不再是简单的值,而是某个对象,数组,集合时,就需要使用ognl表达式来访问这些对象,数组,集合内的数据了. 1)ognl的stack Conte

Struts2学习笔记1

一.下载struts2.0.1 http://struts.apache.org/downloads.html,下载struts-2.0.1-all.zip,这个压缩包中包括了开发struts2所需的struts2-core.jar核心包以及其他struts2所依赖的JAR文件,另外另一些struts2的演示样例程序以及一些HTML的API文档. 二.试用struts2.0.1 1. 新建一个WEBproject,将struts-2.0.1-all.zip压缩包中的lib文件夹下的全部jar文件

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

struts学习笔记(1)基本配置

Struts2  学习笔记 吃透最简单的Helloword实例之后 ,接着再一一去研究 请求参数的接收与发送,参数的封闭,校验,result,struts2标签库这些最为核心的东西(其实这些也正是最常用的东西),经过这样的学习,应该领会了一些Struts2的流程,接着再去阅读相关文档去了解Strust2的拦截器设计思想(这叫先使用再体会的学习方法),接着可以做一些针对于自定义拦截器的实现来深化对Struts2的认识.此时,你已经达到企业中使用的级别了,接下来就可以玩一些SSh整合 一.基本配置