Struts2的静态配置信息

发表时间:2017-05-16 15:42:19 浏览量( 19 ) 留言数( 0 )

学习目标:

1、了解Struts2的配置项目的意义


学习过程:

一、静态配置的文件

我们在前一天在struts.xml中间的介绍过静态配置的一个信息:

	<constant name="struts.devMode" value="true" />

我们可以通过这个配置,说明当前的struts是否是开发模式,这个就是静态配置了。我们可以在三个文件中配置这个信息。可以在web.xml、struts.properties、struts.xml中配置。

在web.xml中我们可以这样配置

<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

		<init-param>
			<param-name>struts.devMode</param-name>
			<param-value>false</param-value>
		</init-param>

	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

在struts.properties中我们可以这样配置

   struts.devMode=true

在这个三个文件中配置的效果都是一样的,优先级别是web.xml>>struts.properties>>struts.xml。当然我们在实际开发中不过这里配置一句,那里又配置一句,一般推荐在struts.properties中进行配置。

二、配置信息讲解

知道了在那里配置后,我们的第二问题就是,我们可以配置什么信息呢?我们可以打开struts的教学手册进行查看。

网址是:http://struts.apache.org/release/2.3.x/docs/guides.html

点击下面的struts.properties,就可以查看所有的可配置信息了。

内容如下:

### Struts default properties

###(can be overridden by a struts.properties file in the root of the classpath)

###


### Specifies the Configuration used to configure Struts

### one could extend org.apache.struts2.config.Configuration

### to build one's customize way of getting the configurations parameters into Struts

# struts.configuration=org.apache.struts2.config.DefaultConfiguration


### This can be used to set your default locale and encoding scheme

# struts.locale=en_US

struts.i18n.encoding=UTF-8

1.1. struts.serve.static.browserCache

<!-- 该属性设置浏览器是否缓存静态内容。当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,

则可设置该属性为false -->

<constant name="struts.serve.static.browserCache" value="false"/>


1.2. struts.enable.DynamicMethodInvocation

<!-- 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,

则可设置该属性为false 

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>-->


1.3. struts.enable.SlashesInActionNames

<!-- 

struts.enable.SlashesInActionNames :该属性设置Struts 2是否允许在Action名中使用斜线,该属性的默认值是false。如果开发者希望允许在Action名中使用斜线,则可设置该属性为true。

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


1.4. struts.devMode

struts.devMode:该属性设置Struts 2应用是否使用开发模式。如果设置该属性为true,则可以在应用出错时显示更多、更友好的出错提示。

该属性只接受true和flase两个值,该属性的默认值是false。通常,应用在开发阶段,将该属性设置为true,当进入产品发布阶段后,则该属性设置为false。


1.5. struts.i18n.reload

struts.i18n.reload:该属性设置是否每次HTTP请求到达时,系统都重新加载资源文件。该属性默认值是false。在开发阶段将该属性设置为true会更有利于开发,

但在产品发布阶段应将该属性设置为false。

提示 开发阶段将该属性设置了true,将可以在每次请求时都重新加载国际化资源文件,从而可以让开发者看到实时开发效果;产品发布阶段应该将该属性设置为false,

是为了提供响应性能,每次请求都需要重新加载资源文件会大大降低应用的性能。


1.6. struts.ui.theme

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


1.7. struts.ui.templateDir

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


1.8. struts.ui.templateSuffix

struts.ui.templateSuffix:该属性指定模板文件的后缀,该属性的默认属性值是ftl。该属性还允许使用ftl、vm或jsp,分别对应FreeMarker、Velocity和JSP模板。


1.9. struts.configuration.xml.reload

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


1.10. struts.velocity.configfile

struts.velocity.configfile:该属性指定Velocity框架所需的velocity.properties文件的位置。该属性的默认值为velocity.properties。


1.11. struts.velocity.contexts

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


1.12. struts.velocity.toolboxlocation

struts.velocity.toolboxlocation:该属性指定Velocity框架的toolbox的位置。


1.13. struts.url.http.port

struts.url.http.port该属性指定Web应用所在的监听端口。该属性通常没有太大的用户,只是当Struts 2需要生成URL时(例如Url标签),该属性才提供Web应用的默认端口。

struts.url.https.port:该属性类似于struts.url.http.port属性的作用,区别是该属性指定的是Web应用的加密服务端口。

 

1.14. struts.url.includeParams

struts.url.includeParams:该属性指定Struts 2生成URL时是否包含请求参数。该属性接受none、get和all三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数。


1.15. struts.custom.i18n.resources

struts.custom.i18n.resources该属性指定Struts 2应用所需要的国际化资源文件,如果有多份国际化资源文件,则多个资源文件的文件名以英文逗号(,)隔开。


1.16. struts.dispatcher.parametersWorkaround

struts.dispatcher.parametersWorkaround :对于某些Java EE服务器,不支持HttpServlet Request调用getParameterMap()方法,此时可以设置该属性值为true来解决该问题。该属性的默认值是false。对于WebLogic、Orion和OC4J服务器,通常应该设置该属性为true。


1.17. struts.freemarker.manager.classname

struts.freemarker.manager.classname: 该属性指定Struts 2使用的FreeMarker管理器。该属性的默认值是org.apache.struts2.views.freemarker.FreemarkerManager,这是Struts 2内建的FreeMarker管理器。


1.18. struts.freemarker.wrapper.altMa

struts.freemarker.wrapper.altMap该属性只支持true和false两个属性值,默认值是true。通常无需修改该属性值。


1.19. struts.xslt.nocache

struts.xslt.nocache 该属性指定XSLT Result是否使用样式表缓存。当应用处于开发阶段时,该属性通常被设置为true;当应用处于产品使用阶段时,该属性通常被设置为false。


1.20. struts.configuration.files

struts.configuration.files: 该属性指定Struts 2框架默认加载的配置文件,如果需要指定默认加载多个配置文件,则多个配置文件的文件名之间以英文逗号(,)隔开。

该属性的默认值为struts-default.xml,struts-plugin.xml,struts.xml,看到该属性值,读者应该明白为什么Struts 2框架默认加载struts.xml文件了。

1.21. struts.i18n.encoding

设置编码格式为UTF-8, 相当于调用HttpServletRequest的setCharacterEncoding方法

<constant name="struts.i18n.encoding" value=" UTF-8"/>

1.22. 上传文件

#上传文件所使用的组件

# struts.multipart.parser=cos

# struts.multipart.parser=pell

struts.multipart.parser=jakarta

# 默认使用javax.servlet.context.tempdir

struts.multipart.saveDir=

##上传的最大文件大小

struts.multipart.maxSize=2097150