Struts2通配符配置action,然后设置default action不生效的一个bug

[color=blue]在struts配置文件中,使用通配符配置action,如下:[/color]

<action name="*_*" class="com.dview.sxeq.action.{1}Action" method="{2}">

<result name="userDeleteSuccess" type="redirectAction">User_userList</result>
<result name="addUserSuccess" type="redirectAction">User_userList</result>

</action>


[color=blue]然后再在这个package中设置 default-action-ref[/color]

<default-action-ref name="default" />
<action name="default">
<result>/nopage.jsp</result>
</action>


[color=red]经过多次反复试验设置的default-action是不生效的,它依然会去找上面那个通配符设置的action,找不到就会报错,所以本人认为这是一个bug。[/color]

[color=blue]若想使用 default-action-ref的功能,就只有改配置文件如以下这样配置[/color]

<package name="default" namespace="/" extends="struts-default">

<!-- 定义默认拦截器及默认Action-->
<default-action-ref name="default" />

<!-- 定义Action-->
<action name="default">
<result>/nopage.jsp</result>
</action>

<action name="User_*" class="com.dview.sxeq.action.UserAction"
method="{1}">
<result name="userDeleteSuccess" type="redirectAction">User_userList</result>
<result name="addUserSuccess" type="redirectAction">User_userList</result>
<result name="getAddUserjsp">/jsp/user/addUser.jsp</result>
<result name="userList">/jsp/user/userList.jsp</result>
<result name="login_fail">/login.jsp</result>
<result name="login_success" type="redirectAction">User_userList</result>
<result name="loginOutSuccess" type="redirect">/login.jsp</result>
</action>

<action name="Role_*" class="com.dview.sxeq.action.RoleAction"
method="{1}">
<result name="getAddRolejsp">/jsp/role/addRole.jsp</result>
<result name="roleList">/jsp/role/roleList.jsp</result>
<result name="roleDeleteSuccess" type="redirectAction">Role_roleList</result>
<result name="addRoleSuccess" type="redirectAction">Role_roleList</result>
</action>

<action name="Right_*" class="com.dview.sxeq.action.RightAction"
method="{1}">
<result name="rightList">/jsp/right/rightList.jsp</result>
</action>

<action name="Log_*" class="com.dview.sxeq.action.LogAction"
method="{1}">
<result name="logList">/jsp/log/logList.jsp</result>
<result name="logDeleteSuccess" type="redirectAction">Log_logList</result>
</action>

<action name="Department_*" class="com.dview.sxeq.action.DepartmentAction"
method="{1}">
<result name="deparList">/jsp/department/departmentList.jsp</result>
<result name="getAddDepartmentjsp">/jsp/department/addDepartment.jsp</result>
<result name="addDepartmentSuccess" type="redirectAction">Department_departmentList
</result>
<result name="departmentDeleteSuccess" type="redirectAction">Department_departmentList
</result>
</action>
</package>

struts还真是麻烦啊 :twisted:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值