码迷,mamicode.com
首页 > 其他好文 > 详细

struts.xml和default.properties

时间:2015-02-07 10:23:47      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:struts.xml和default.p   struts2.xml   default.properties   struts2   

        1)struts.xml

该文件也是struts2框架自动加载的文件,在这个文件中可以定义一些自己的action,interceptorpackage等,该文件的package 通常继承struts-default包。下面是这个文件的格式。

struts.properties文件

技术分享<?xml version="1.0" encoding="GBK"?>
技术分享
<!-- 下面指定Struts 2配置文件的DTD信息 -->
技术分享
<!DOCTYPE struts PUBLIC
技术分享 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
技术分享 "http://struts.apache.org/dtds/struts-2.0.dtd"
>

技术分享
<!-- struts是Struts 2配置文件的根元素 -->
技术分享
<struts>
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<constant name="" value="" />
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<bean type="" name="" class="" scope="" static="" optional="" />
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<include file="" />
技术分享
<!-- package元素是Struts配置文件的核心,该元素可以出现0次,或者无限多次 -->
技术分享
<package name="必填的包名" extends="" namespace="" abstract=""
技术分享 externalReferenceResolver
>
技术分享
<!-- 该元素可以出现,也可以不出现,最多出现一次 -->
技术分享
<result-types>
技术分享
<!-- 该元素必须出现,可以出现无限多次-->
技术分享
<result-type name="" class="" default="true|false">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</result-type>

技术分享
</result-types>
技术分享
<!-- 该元素可以出现,也可以不出现,最多出现一次 -->
技术分享
<interceptors>
技术分享
<!-- 该元素的interceptor元素和interceptor-stack至少出现其中之一,
技术分享 也可以二者都出现 
-->

技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<interceptor name="" class="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</interceptor>

技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<interceptor-stack name="">
技术分享
<!-- 该元素必须出现,可以出现无限多次-->
技术分享
<interceptor-ref name="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</interceptor-ref>

技术分享
</interceptor-stack>
技术分享
</interceptors>
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<default-interceptor-ref name="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>
技术分享
</default-interceptor-ref>
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<default-action-ref name="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</default-action-ref>
?
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->

技术分享
<global-results>
技术分享
<!-- 该元素必须出现,可以出现无限多次-->
技术分享
<result name="" type="">
技术分享
<!-- 该字符串内容可以出现0次或多次 -->
技术分享 映射资源
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</result>

技术分享
</global-results>
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<global-exception-mappings>
技术分享
<!-- 该元素必须出现,可以出现无限多次-->
技术分享
<exception-mapping name="" exception="" result="">
技术分享 异常处理资源
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</exception-mapping>

技术分享
</global-exception-mappings>
技术分享
<action name="" class="" method="" converter="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->

技术分享
<result name="" type="">
技术分享 映射资源
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</result>

技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<interceptor-ref name="">
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</interceptor-ref>

技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<exception-mapping name="" exception="" result="">
技术分享 异常处理资源
技术分享
<!-- 下面元素可以出现0次,也可以无限多次 -->
技术分享
<param name="参数名">参数值</param>*
技术分享
</exception-mapping>

技术分享
</action>
技术分享
</package>*
技术分享
<struts>

技术分享
技术分享


2) default.properties

这个文件是struts2框架的全局属性文件,也是自动加载的文件。该文件包含了系列的key-value对。该文件完全可以配置在struts.xml文件中,使用constant元素。下面是这个文件中一些常见的配置项及说明。
 

技术分享
技术分享
技术分享 ### 指定加载struts2配置文件管理器,默认为org.apache.struts2.config.DefaultConfiguration
技术分享 ### 开发者可以自定义配置文件管理器,该类要实现Configuration接口,可以自动加载struts2配置文件。
技术分享struts.configuration
=org.apache.struts2.config.DefaultConfiguration
技术分享
技术分享 ### 设置默认的locale和字符编码
技术分享struts.locale
=
en_US
技术分享 struts.i18n.encoding
=UTF-8

技术分享
技术分享
技术分享 ### 指定struts的工厂类
技术分享struts.objectFactory 
= spring
技术分享
技术分享 ### 指定spring框架的装配模式
技术分享 ### 装配方式有: name
, type, auto,
 and constructor (name 是默认装配模式)
技术分享 struts.objectFactory.spring.autoWire 
=
 name
技术分享
技术分享 ### 该属性指定整合spring时,是否对bean进行缓存,值为true or false
,
默认为true.
技术分享 struts.objectFactory.spring.useClassCache 
=
 true
技术分享
技术分享 ### 指定类型检查
技术分享 #struts.objectTypeDeterminer 
=
 tiger
技术分享 #struts.objectTypeDeterminer 
=
 notiger
技术分享
技术分享 ### 该属性指定处理 MIME-type multipart/form-data,文件上传
技术分享struts.multipart.parser
=
cos
技术分享struts.multipart.parser
=
pell
技术分享 struts.multipart.parser
=
jakarta
技术分享指定上传文件时的临时目录,默认使用 javax.servlet.context.tempdir 
技术分享 struts.multipart.saveDir
=

技术分享 struts.multipart.maxSize
=2097152
技术分享
技术分享 ### 加载自定义属性文件 (不要改写struts.properties!)
技术分享struts.custom.properties
=application,org/apache/struts2/extension/custom
技术分享
技术分享 ### 指定请求url与action映射器,默认为org.apache.struts2.dispatcher.mapper.DefaultActionMapper
技术分享 #struts.mapper.class
=
org.apache.struts2.dispatcher.mapper.DefaultActionMapper
技术分享
技术分享 ### 指定action的后缀,默认为action
技术分享 struts.action.extension
=
action
技术分享
技术分享 ### 被 FilterDispatcher使用
技术分享 ### 如果为 true 则通过jar文件提供静态内容服务. 
技术分享 ### 如果为 false 则静态内容必须位于 <context_path>/struts
技术分享 struts.serve.static
=
true
技术分享
技术分享 ### 被 FilterDispatcher使用
技术分享 ### 指定浏览器是否缓存静态内容,测试阶段设置为false,发布阶段设置为true.
技术分享 struts.serve.static.browserCache
=
true
技术分享
技术分享 ### 设置是否支持动态方法调用,true为支持,false不支持.
技术分享 struts.enable.DynamicMethodInvocation 
=
 true
技术分享
技术分享 ### 设置是否可以在action中使用斜线,默认为false不可以,想使用需设置为true.
技术分享 struts.enable.SlashesInActionNames 
=
 false
技术分享
技术分享 ### 是否允许使用表达式语法,默认为true.
技术分享 struts.tag.altSyntax
=
true
技术分享
技术分享
技术分享 ### 设置当struts.xml文件改动时,是否重新加载.
技术分享 ### struts.configuration.xml.reload 
=
 true
技术分享 ### 设置struts是否为开发模式,默认为false
,
测试阶段一般设为true.
技术分享 struts.devMode 
=
 false
技术分享
技术分享 ### 设置是否每次请求,都重新加载资源文件,默认值为false.
技术分享 struts.i18n.reload
=
false
技术分享
技术分享 ###标准的UI主题
技术分享 ### 默认的UI主题为xhtml
,可以为simple,
xhtml或ajax
技术分享 struts.ui.theme
=
xhtml
技术分享 ###模板目录
技术分享 struts.ui.templateDir
=
template
技术分享 #设置模板类型. 可以为 ftl
, vm,
 or jsp
技术分享 struts.ui.templateSuffix
=
ftl
技术分享
技术分享 ###定位velocity.properties 文件.  默认 velocity.properties
技术分享 struts.velocity.configfile 
=
 velocity.properties
技术分享
技术分享 ### 设置velocity的context.
技术分享 struts.velocity.contexts 
=

技术分享
技术分享 ### 定位toolbox.
技术分享 struts.velocity.toolboxlocation
=
技术分享
技术分享 ### 指定web应用的端口.
技术分享 struts.url.http.port 
= 80
技术分享 ### 指定加密端口
技术分享 struts.url.https.port 
= 443
技术分享 ### 设置生成url时,是否包含参数.值可以为: none
, get or all
技术分享 struts.url.includeParams 
=
 get
技术分享
技术分享 ### 设置要加载的国际化资源文件,以逗号分隔.
技术分享struts.custom.i18n.resources
=testmessages,
testmessages2
技术分享
技术分享 ### 对于一些web应用服务器不能处理HttpServletRequest.getParameterMap()
技术分享 ### 像 WebLogic
, Orion, and OC4J等,须设置成true,
默认为false.
技术分享 struts.dispatcher.parametersWorkaround 
=
 false
技术分享
技术分享 ### 指定freemarker管理器
技术分享 #struts.freemarker.manager.classname
=
org.apache.struts2.views.freemarker.FreemarkerManager
技术分享
技术分享 ### 设置是否对freemarker的模板设置缓存
技术分享 ### 效果相当于把template拷贝到 WEB_APP/templates.
技术分享 struts.freemarker.templatesCache
=
false
技术分享
技术分享 ### 通常不需要修改此属性.
技术分享 struts.freemarker.wrapper.altMap
=
true
技术分享
技术分享 ### 指定xslt result是否使用样式表缓存.开发阶段设为true
,
发布阶段设为false.
技术分享 struts.xslt.nocache
=
false
技术分享
技术分享 ### 设置struts自动加载的文件列表.
技术分享 struts.configuration.files
=struts-default.xml,struts-plugin.xml,
struts.xml
技术分享
技术分享 ### 设定是否一直在最后一个slash之前的任何位置选定namespace.
技术分享 struts.mapper.alwaysSelectFullNamespace
=false

补充一点:

a)default.properties文件在struts2-core-2.3.15.3.jar中的org.apache.struts2目录下,大家可以在项目的引用包中打开。

b)struts.i18n.encoding=UTF-8Struts2默认的编码类型是UTF-8。编码问题很恶心的,所以在编码统一时会使用。

c)struts.objectFactory = spring

Struts中action创建都是由对应的工厂创建。Struts自己提供了这样的一个工厂。当struts和spring进行整合后,这些action就交给spring进行打理。

后期框架整合时会用到。

d)struts.multipart.parser=jakartaStruts的默认文件上传包,此处指定的是jakarta,即默认使用apache的fileupload组件。除非使用cos或pell才会修改。

e)struts.action.extension=action,,表单提交或者url请求时地址的后缀。我们可以自行修改,但一般不用。没什么实际意义。项目真正上线,我们会对网站使用伪静态。以后的博文会讲。

f)struts.enable.DynamicMethodInvocation = false

动态方法调用。例如: http://....action!myMthod 。但一般不会使用,因为它会暴露我们执行的方法名称,不太安全。

g)struts.devMode = false开发模式。将一些警告信息转为错误信息,告诉开发者出现了什么样的问题。开始时改为true,发布时必须改为false。

h)struts.i18n.reload=false对于开发来讲还是必将重要的。设置为true时,在每次请求时,资源包就会被重载。 resource bundles里面有个缓存,如果请求时,都会去缓存找,有则拿出来,而我们开发时,资源包是不断修改的,所以要禁止缓存避免影响开发调试。

i)struts.configuration.xml.reload=false设置为true时,我们每次修改struts.xml文件后,框架会自动加载这个文件。

j)struts.ognl.allowStaticMethodAccess=false页面使用静态方法。通过ognl标签调用值栈action中的方法。

k)Default.properties是不能直接修改的,我们如果要修改,有两种方式

1、在src下创建struts.properties

例如:struts.enable.DynamicMethodInvocation = true

2、在struts.xml中配置(推荐使用)

例如:<constant name=”struts.ognl.allowStaticMethodAccess” value=”true” />

 

 

 

struts.xml和default.properties

标签:struts.xml和default.p   struts2.xml   default.properties   struts2   

原文地址:http://blog.csdn.net/han_ying_ying/article/details/43600957

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!