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

struts.xml的配置

时间:2015-07-17 13:54:35      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

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时,直接将包做

继承关系即可。

struts.xml的配置

标签:

原文地址:http://www.cnblogs.com/Arvin-9/p/4654062.html

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