struts2常见配置

时间:2023-03-09 08:20:21
struts2常见配置

<struts>
 <!--开发模式设置:该属性设置Struts2应用是否使用开发模式。如果设置该属性为true,则可以在应用出错时显示更多、更友好的出错提示。该属性只接受true和flase两个值,该属性的 默认值是false。通常,应用在开发阶段,将该属性设置为true,当进入产品发布阶段后,则该属性设置为false。 -->
 <constant name="struts.devMode" value="false"></constant>
 <!-- 国际化资源重新加载:该属性设置是否每次HTTP请求到达时,系统都重新加载资源文件。该属性默认值是false。在开发阶段将该属性设置为true会更有利于开发, 但在产品发布阶段应将该属性设置为false。 -->
 <constant name="struts.i18n.reload" value="false" />
 <!-- 配置文件重新加载:该属性设置当struts.xml文件改变后,系统是否自动重新加载该文件。该属性的默认值是false。 -->
 <constant name="struts.configuration.xml.reload" value="false" />
 <!-- convention类重新加载 -->
 <constant name="struts.convention.classes.reload" value="false" />
 <!-- 主题:该属性指定视图标签默认的视图主题,该属性的默认值是xhtml -->
 <constant name="struts.ui.theme" value="simple" />
 <!-- 地区 -->
 <constant name="struts.locale" value="zh_CN" />
 <!-- spring -->
 <!-- <constant name="struts.objectFactory" value="spring"/> -->
 <!-- <constant name="struts.objectFactory.spring.autoWire" value="byName"/> -->
 <!-- 国际化编码:指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法 -->
 <constant name="struts.i18n.encoding" value="UTF-8" />
 <!-- 扩展:该 属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即 所有匹配*.action的请求都由Struts 2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开 -->
 <constant name="struts.action.extension" value="action" />
 <!-- 启用动态方法调用:该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true(也区分版本)。如果需要关闭动态方法调用,则可设置该属性为false -->
 <constant name="struts.enable.DynamicMethodInvocation" value="true" />
 <!-- 设置Struts 2是否允许在Action名中使用斜线,默认是false -->
 <constant name="struts.enable.SlashesInActionNames" value="false" />
 <!-- action后缀 -->
 <constant name="struts.convention.action.suffix" value="Action" />
 <!-- 名称首字母小写 -->
 <constant name="struts.convention.action.name.lowercase"
  value="true" />
 <!-- 分隔符 一个action名字的获取。比如为HelloWorldAction。按照配置,actionName为hello_world。 -->
 <constant name="struts.convention.action.name.separator"
  value="" />
 <!-- 禁用扫描 -->
 <constant name="struts.convention.action.disableScanning"
  value="false" />
 <!-- 默认包 -->
 <constant name="struts.convention.default.parent.package"
  value="default" />
 <!--确定搜索包的路径。只要是结尾为action的包都要搜索。basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。
  locators及locators.basePackage都是一组以逗号分割的字符串。 -->
 <constant name="struts.convention.package.locators" value="action" />
 <!-- 禁用包搜索 -->
 <constant name="struts.convention.package.locators.disable"
  value="false" />
 <!-- 告诉struts2 需要在哪些jar包中去搜索 action -->
 <constant name="struts.convention.action.includeJars" value=".*/jenny-plugin.*?jar(!/)?," />
 <!-- 告诉struts2 去包中查找action的包文件类型,默认是jar,如果在webspher上可能会出问题,需要添加 wsjar -->
 <constant name="struts.convention.action.fileProtocols" value="jar" />
 <!-- 基于什么包 -->
 <constant name="struts.convention.package.locators.basePackage"
  value="com.speed.call.plugin.server.action" />
 <!-- 排除的包 -->
 <constant name="struts.convention.exclude.packages"
  value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*" />
 <constant name="struts.convention.result.flatLayout" value="false" />
 <constant name="struts.convention.action.mapAllMatches" value="false" />

<package name="default" namespace="/" extends="struts-default">
  <result-types>
   <result-type name="json" class="org.apache.struts2.json.JSONResult">
    <param name="excludeNullProperties">true</param>
    <param name="noCache">true</param>
    <param name="contentType">text/html</param>
   </result-type>
   <!-- result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult">
    <param name="contentType">image/jpeg</param>
    <param name="inputName">imageStream</param>
    <param name="bufferSize">1024</param>
   </result-type-->
  </result-types>
  <interceptors>
   <interceptor name="json"
    class="org.apache.struts2.json.JSONInterceptor" />
   <interceptor name="annotation"
    class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor" />
   <interceptor-stack name="myDefaultStack">
    <interceptor-ref name="json" />
    <interceptor-ref name="annotation" />
    <interceptor-ref name="defaultStack">
     <param name="exception.logEnabled">true</param>
     <param name="exception.logLevel">ERROR</param>
    </interceptor-ref>
   </interceptor-stack>
  </interceptors>
  <default-interceptor-ref name="myDefaultStack"/>
 </package>
</struts>