标签:
1:bean,定义类。
2:constant:struts中的常量定义。
文件目录
/org/apache/struts2/default.properties
default.properties定义了struts2中所有的常量。struts并不会去读取。
struts.i18n.encoding=UTF-8 //设置请求的编码
struts.enable.DynamicMethodInvocation = true //是否支持动态方法的调用
struts.configuration.xml.reload = true //是否支持XML的自动加载
struts.devMode = false //开发模式
struts.ui.theme=xhtml //UI模板的设置
struts.ognl.allowStaticMethodAccess=false //是否允许在ONGL表达式中调用静态方法
struts.action.extension=action,, //STruts请求的扩展名。
系统可以覆盖常量。struts读取常量的顺序:后面的会覆盖前面的配置。
A:struts-default.xml:不需要配置
B:struts.xml
<constant name="struts.i18n.encoding" value="GBK" />
C:struts.properties(这个文件需手工建立,也是放在src目录下,一般用于WebWork工程)
struts.i18n.encoding=UTF-8
D:web.xml
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> <init-param> <param-name>struts.i18n.encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter>
include部分:
struts中多模块的设置,模块化文件。
<!-- 引入其他配置文件 <include file="struts_user.xml"></include> -->
公用的Action放在struts.xml中,模板的配置放到模板的配置文件中。
package 包
name="default" 包名,随便取,不能重复。
namespace="/" 命名空间。
extends="struts-default" 包之间的继承。就可以父包配置的选项
默认所有的package都继承struts-default.xml
abstract="true|false" 是否抽象包。抽象包中不能定义action。
Package底下的配置:
<action name="" action的名称 class="" action的类路径 method="" 执行action中哪一个方法的名称。 <action name="firstAction" class="com.action.FirstAction" method="delete"></action> 访问firstAction时,执行不是FirstAction中的execute方法,而是FirstActionon类中的Delete方法。 如果没有配置method,就是访问execute方法。 <result name="succ" type="dispatcher"> <param name=""></param> </result>
name:result的名称
type:result的类型,
chain: 请求转发到Action
dispatcher: 请求转发到JSP面
redirect: 重定向到JSP页面
redirectAction: 重定向到Action
stream: 流方式,用于下载
param:
result-type对应的类中成员变量的名称。
Action
private String username;
//成员变量必须生成SET/GET方法。
<param name=""></param> //Action中成员变量的值。 <result name="firstPage" type="redirectAction"> <param name="namespace">/space_test1</param> <param name="actionName">test1Action</param> </result>
interceptors:
配置拦截器和拦截器栈。
default-interceptor-ref:
配置默认栈。
当配置文件中配置了一个栈时,所以的action要使用栈的话,必须在action中加入调用
栈的代码。
<action = > <interceptor-ref name=""></interceptor-ref> </action>
比较麻烦,可以配置默认的栈,这样在package底下所有的action都用使用这个默认栈。
default-action-ref:
配置默认的action。
当链接到一个命名空间时,没有指定action的路径,那么就会执行默认的action。
http://localhost:8080/Struts2_Project_1/test1/
<package name="test" namespace="/test1" extends="struts-default"> <default-action-ref name="index" /> <action name="index"> <result>/main.jsp</result> </action> <action name="testNameSpace" class="com.action.TestNameSpaceAction"> </action> </package>
//***********************
global-results与results的区别:
global-result:是Package下面所有的action都可以调用global中定义的result.
result:是action中私用的。
其它的package想要调用另一个package中定义的global-result时,直接将包做
继承关系即可。
标签:
原文地址:http://www.cnblogs.com/Arvin-9/p/4654062.html