标签:struts2 struts2配置文件详解 struts常量设置
在struts中如果使用到其他拦截器,一定要放在核心拦截器之前,否则不起作用。
在struts中可以使用servlet。
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- struts在运行时候会加载这个总配置文件: src/struts.xml -->
<!-- 一个Struts文件中可以包含多个struts文件的导入 -->
<!-- Struts2 把各种 Action 分门别类地组织成不同的包. 可以把包想象为一个模块.
一个典型的 struts.xml 文件可以有一个或多个包
package 元素通常要对 struts-default.xml 文件里定义的 struts-default 包进行扩展.
这么做了以后, 包里的所有动作就可以使用在 struts-default.xml 文件里的结果类型和拦截器了.
package中extends必须写struts-default
每个 package 元素都必须有一个 name 属性
name:包名 配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,
如果其他包要继承该包,必须通过该属性进行引用.
包的namespace属性用于定义该包的命名空间,命名空间作用为访问该包下的action路径的一部分.即名称空间作为访问路径的一部分。
namespace 属性是可选的, 如果它没有给出, 则以 “/” 为默认值.
若 namespace 有一个非默认值, 则要想调用这个包里的Action, 就必须把这个属性所定义的命名空间添加到有关的 URI 字符串里
package还有一个abstract=”true”属性,指定此包为抽象包,和抽象类的概念差不多,
说明此包只能被其他包继承,它里面不允许包含action元素的定义,否则运行时期报错.
访问路径=http://localhost:8080/项目名称/名称空间/action的名字
-->
<package name="aaa" extends="struts-default">
<!-- action 元素嵌套在 package 元素内部, 它表示一个 Struts请求.
每个 action 都必须有一个 name 属性, 该属性和用户请求 servletPath 之间存在着一一对应关系
一个Action可以被多次映射(只要action配置中的name不同)
name:action名称
class: 对应的类的路径
action 元素的 class 属性是可选的. 如果没有配置 class 属性,
Struts将把 com.opensymphony.xwork2.ActionSupport 作为其默认值.
如果配置了 class 属性, 还可以使用 method 属性配置该类的一个动作方法. method 属性的默认值为 execute
converter:指定Action使用的类型转换器
-->
<action name="login"class="cn.test.action.HelloAction" method="execute">
<!--
result 元素:<action>的一个子元素, 它告诉 struts 在完成动作后把控制权转交到哪里.
标签中指定页面跳转的位置
result 元素的 name 属性建立 <result> 和 Action 方法返回值之间的映射关系。
name 属性是action的返回值,默认值为 "success"
result 元素(的name 属性)对应着 Action 方法的返回值. 因为动作方法在不同情况下可能返回不同的值,
所以同一个 action 元素可能会有多个 result 元素。
result 中name 对应Action返回逻辑视图名称,默认为success
result 元素的 type 属性负责指定结果类型. type 属性的值必须是在包含当前包或者是当前包的父包里注册过的结果类型.
type 属性的默认值为 dispatcher
-->
<result name="success"></result>
</action>
</package>
<!-- 在总配置文件中引入其他配置文件 -->
<include file="cn/test/action/hello.xml"></include>
<!-- struts中的常量 -->
<!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法和freemarker、velocity的输出-->
<constant name="struts.i18n.encoding"value="UTF-8"/>
<!-- 自定义后缀修改常量 -->
<constant name="struts.action.extension"value="do"/>
<!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache"value="false"/>
<!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload"value="true"/>
<!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode"value="true" />
<!-- 默认的视图主题 -->
<constant name="struts.ui.theme"value="simple" />
<!-- 与spring集成时,指定由spring负责action对象的创建 -->
<constant name="struts.objectFactory"value="spring" />
<!-- 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性
为 false -->
<constant name="struts.enable.DynamicMethodInvocation"value="false"/>
<!-- 上传文件的大小限制 -->
<constant name="struts.multipart.maxSize"value=“155555"/>
<!--
定义拦截器
name:拦截器名称
class:拦截器类路径
<interceptorname="timer" class="cn.test.timer"></interceptor>
定义默认的拦截器每个Action都会自动引用
如果Action中引用了其它的拦截器默认的拦截器将无效
<default-interceptor-refname="mystack"></default-interceptor-ref>
也可以配置全局result
<global-results>
<resultname="input">/error.jsp</result>
</global-results>
-->
</struts>
标签:struts2 struts2配置文件详解 struts常量设置
原文地址:http://blog.csdn.net/ning_xian_hong/article/details/45651385