3.struts2加载资源文件和struts.xml基本元素
配置文件加载顺序:
web.xml
|
default.properties 资源文件
|
struts-defalut.xml 配置文件
|
struts-plugin.xml 插件文件
|
struts.xml 用户配置
<struts>
<package name="xt11" namespace="/xt" extends="struts-default">
<action name="test" class="cn.xt.work.Test">
<param name="name">jack</param>
<result name="success">/jsp/success.jsp</result>
</action>
</package>
<package name="primer" namespace="/primer" extends="struts-default">
<action name="helloWorldAction" class="cn.xt.primer.HelloWorldAction" method="add">
<result name="success" type="dispatcher">/primer/success.jsp</result>
<result name="ok" type="redirect">/index.jsp</result>
</action>
</package>
</struts>
//struts 根节点
// |-package 在一个配置文件中,可以包含1个或多个package节点。
// | 1)属性name为package起的名子标识了该package(用于继承), name属性不可以相同
// | 2)属性namespace为action的命名空间,如:namespace="/xt" 则url映射 http://localhost:8080/Struts2/xt/test
// | 默认值为namespace="/" 。namespace属性决定了如何访问你的Action类。/xt-- /xt/test.action
// | 3)属性extends指明此包所继承的其他包;Struts-default是核心配置文件
// |
// |-interceptors 加入拦截器
// | |----interceptor
// | |----interceptor-stack -----引入其它拦截器
// | | ....... 拦截器
// | </interceptor-stack>
// |-action 节点定义某个类所对应的访URL
// | 1)属性name为url映射 ,他对应class属性,将一个访问映射到一个实际的类;如 /xt/test.action name="test"
// | 2)属性class 实际的action类全名; 如 class="cn.xt.primer.HelloWorldAction"
// | 3)属性method 可指定执行action类中的那个方法,默认为execute();
// |
// |
// |--interceptor-ref 引入拦截器
// |
// |
// |
// |--exception-mapping
// |
// |--allowed-methods 允许调用的方法
// |
// |--param 节点为 url 参数param 给参数name 设置初始值(防止用户不传值是为null),当用户传值时就覆盖掉这个初始值
// |--result 节点在action的内部,定义Action返回后转发到哪一个页面。Result有一个name属性,它的默认值为success。
// 1)属性name为 action类中执行方法的返回结果 默认为"success"
// 2)属性type为指定对结果页的处理方式 ,默认为type="dispatcher" 即:转发
//dispatcher为转发
//redirect 重定向
//redirectAction把响应重定向到另一个 Action
浙公网安备 33010602011771号