Struts2的一些常量和含义的应用


首先,当我们学习一个框架的时,一般可以参考框架自带的示例项目。例如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

下面列举几个常用的常量

[java]

  1. ### This can be used to set your default locale and encoding scheme  
  2. # struts.locale=en_US  
  3. struts.i18n.encoding=UTF-8//指定默认编码  

[java]

  1. # uses javax.servlet.context.tempdir by default  
  2. struts.multipart.saveDir=  
  3. struts.multipart.maxSize=2097152//上传文件大小限制  

[java]

  1. ### Used by the DefaultActionMapper  
  2. ### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do  
  3. ### The blank extension allows you to match directory listings as well as pure action names  
  4. ### without interfering with static resources.  
  5. struts.action.extension=action,,//指定处理请求的后缀  
[java]
  1. ### Used by FilterDispatcher  
  2. ### This is good for development where one wants changes to the static content be  
  3. ### fetch on each request.  
  4. ### NOTE: This will only have effect if struts.serve.static=true  
  5. ### If true -> Struts will write out header for static contents such that they will  
  6. ###             be cached by web browsers (using Date, Cache-Content, Pragma, Expires)  
  7. ###             headers).  
  8. ### If false -> Struts will write out header for static contents such that they are  
  9. ###            NOT to be cached by web browser (using Cache-Content, Pragma, Expires  
  10. ###            headers)  
  11. struts.serve.static.browserCache=true//指定是否缓存静态资源,开发的时候最好关闭  
[java]
  1. ### when set to true, Struts will act much more friendly for developers. This  
  2. ### includes:  
  3. ### - struts.i18n.reload = true  
  4. ### - struts.configuration.xml.reload = true  
  5. ### - raising various debug or ignorable problems to errors  
  6. ###   For example: normally a request to foo.action?someUnknownField=true should  
  7. ###                be ignored (given that any value can come from the web and it  
  8. ###                should not be trusted). However, during development, it may be  
  9. ###                useful to know when these errors are happening and be told of  
  10. ###                them right away.  
  11. struts.devMode = false//开发时候设置为trus可以开发出更加详细的信息  
[java]
  1. ### Standard UI theme  
  2. ### Change this to reflect which path should be used for JSP control tag templates by default  
  3. struts.ui.theme=xhtml//设置默认视图,最好为simple  
[java]
  1. ### Configuration reloading  
  2. ### This will cause the configuration to reload struts.xml when it is changed  
  3. struts.configuration.xml.reload=false//设置为True一旦Struts.xml文件修改就自动加载  

相关内容