在web中如果有需要多個同名的action,可以通過命名空間來管理action。詳細見下面例子:
工程名:strutsdemo,在配置struts.xml中,主要在package裡面加入namespace="****",見例子2。
1、 1<?xml version="1.0" encoding="GBK"?>
2 2<!DOCTYPE struts PUBLIC
3 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4 4 "http://struts.apache.org/dtds/struts-2.0.dtd">
5 5<struts>
6 6
7 7 <package name="org" extends="struts-default">
88 <action name="login" class="org.LoginAction">
99 <result name="input">/login.jsp</result>
1010 <result name="error">/error.jsp</result>
1111 <result name="success">/welcome.jsp</result>
1212 </action>
1313 <action name="getUsers" class="org.GetUsersAction">
1414 <result name="login">/login.jsp</result>
1515 <result name="success">/listUsers.jsp</result>
1616 </action>
1717 </package>
1818</struts>
可以通過http://localhost:8080/strutsdemo/getUsers.action訪問
2、 1<?xml version="1.0" encoding="GBK"?>
2<!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4 "http://struts.apache.org/dtds/struts-2.0.dtd">
5<struts>
6
7
8
9 <package name="org" extends="struts-default">
10 <action name="login" class="org.LoginAction">
11 <result name="input">/login.jsp</result>
12 <result name="error">/error.jsp</result>
13 <result name="success">/welcome.jsp</result>
14 </action>
15 </package>
16
17 <package name="get" extends="struts-default" namespace="/apple">
18 <action name="getUsers" class="org.GetUsersAction">
19 <result name="login">/login.jsp</result>
20 <result name="success">/listUser.jsp</result>
21 </action>
22 </package>
23</struts>可以通過http://locahost:8080/strutsdemo/apple/getUsers.action 訪問
例子1是沒有指定命名空間的屬性,默認命名空間為空,例子2有命名空間apple。