配置struts.xml
struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。
以下分别介绍一下几个struts.xml中常用到的标签
1、<include>利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件。
比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入:
struts.xml:
属性
是否必需
描述
name是包名,作为其它包应用本包的标记extends否设置本包继承其它包namespace否设置包的命名空间abstact否设置为抽象包2、extends属性的详解当一个包通过配置extends属性继承了另一个包的时候,该包将会继承父包中所有的配置,包括action、result、interceptor等。由于包信息的获取是按照配置文件的先后顺序进行的,所以父包必须在子包之前被定义。通常我们配置struts.xml的时候,都继承一个名为“struts-default.xml”的包,这是struts2中内置的包。
3、namespace的详解
namespace主要是针对大型项目中Action的管理,更重要的是解决Action重名问题,因为不在同一个命名空间的Action可以使用相同的Action名的。
1)如果使用命名空间则URL将改变比如我们有一下配置文件
属性名称
是否必须
功能描述
name是请求的Action名称class否Action处理类对应具体路径method否指定Action中的方法名converter否指定Action使用的类型转换器如果没有指定method则默认执行Action中的execute方法。
2、<result>属性介绍属性名称
是否必须
功能描述
name否对应Action返回逻辑视图名称,默认为successtype否返回结果类型,默认为dispatcher3、通配符的使用
随着result的增加,struts.xml文件也会随之变得越来越复杂。那么就可以使用通配符来简化配置:
例如下面这个案例:
Action为Test.java
属性名称
是否必须
功能描述
name否用来表示该异常配置信息result是指定发生异常时显示的视图信息,这里要配置为逻辑视图exception是指定异常类型
两个标签的示例代码为:
123456789101112<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<
struts
>
<
package
name
=
"wwfy"
extends
=
"struts-default"
>
<
global-results
>
<
result
name
=
"test"
>/index.jsp</
result
>
</
global-results
>
</
package
>
</
struts
>