1.包配置
2.命名空间配置
3.命名空间案例:
4.命名空间的注意:
5.包含配置
在Struts2框架中,其核心组件是Action和拦截器等,该框架使用包管理这些组件,在包可以配置多个action,多个拦截器,多个拦截器栈,返回类型。使用<package>元素配置包。可以指定4个属性
属性名 | 必选 | 说明 |
name | 是 | 指定包的名称,该名称是该包被其他包引用的key值 |
extends | 否 | 知道该包继承其他包 |
namespace | 否 | 指定哪个该包的命名空间 |
abstract | 否 | 指定该包是否是一个抽象包。抽象包中不定义action。 |
2.命名空间配置
在Struts2中命名空间用namespace的方式来管理Action
因为在Action类中有多个业务处理方法,而客户端请求需要指向不通的方法,此时就需要用命名空间了。
例如:
<package name="myPackage" extends="struts-default" namespace="/tmq">
<action name="login" class="my.test.Login.Action">
<result name="success">welcome.jsp</result>
</action>
</package>
上述的配置后,name为login的action就可以处理下面的URL请求了
http://localhost:8080/struts2/tmq/login.action
http://localhot:8080/struts2/login.action
3.命名空间案例:
<struts> <!--配置myPackage包,默认命名空间为空--> <package name="myPackage" extends="struts-default"> <action name="login" class="my.test.LoginAction"> <result name="success">welcome.jsp</result> <result name="Login">login.jsp</result> </action> </package> <package name="myPackage2" extends="struts-default" namespace="/tmq"> <action name="login" class="my.test.LoginAction2"> <result name="success">welcome.jsp</result> <result name="Login">login.jsp</result> </action> </package> <!---http://localhost:8080/struts/login.action;会先查询非默认命名空间中的login Action如果没有找到 然后才到默认的命名空间--> </struts>
4.命名空间的注意:
通过为包指定不通的命名空间,就可以在不同的包中配置name值相同的Action 而框架根据请求的URL,依然可以饿知道使用那个额Action来处理,如果为一个包指定了默认的命名空间,那么该包下的所有Action,额可以处理任何URL中对应的Action请求。
同一个命名空间中的不能包含同名的Actino,不同的命名空间中,可以包含相同的Action。
5.包含配置
<!--_在一个Jsp文件中可以使用<jsp:include>指令,将其他文件包含到该文件中,同样的道理,在struts.xml文件中可以使用包含元素<include>包含其他配置文件--> <?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> <include file="struts-actionchaining.xml"/> <include file="struts-fileupload.xml"/> <include file="struts-jsf.xml"/> <include file="struts-filedownload.xml"/> <include file="struts-conversion.xml"/> <include file="struts-freemarker.xml"/> <includer file="struts-tiles.xml"/> </struts>