Struts1.2分模块后的路径问题

1.某项目分模块的web.xml配置如下:

<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>config/rights</param-name>
<param-value>/WEB-INF/rights-struts-config.xml</param-value>
</init-param>

2.rights-struts-config.xml中某action的配置如下:

<action
path="/rights/listrights"
parameter="browseRight"
scope="request"
>
<forward name="rightbrowse" path="/rights/rightbrowse.jsp"/>
<forward name="rightbrforupd" path="/rights/rightbrforupd.jsp" />
<forward name="rightbrfordel" path="/rights/rightbrfordel.jsp" />
</action>

3.请求路径如下:

http://localhost:8080/netctoss_my/rights/listrights.do?type=1

出现错误如下:

2009-07-08 11:53:31,906 ERROR [org.apache.struts.action.RequestProcessor] - Invalid path was requested /listrights

当action的path改为 path="/listrights",则出现如下错误:

HTTP Status 404 -

/rights/rights/rightbrowse.jsp

type Status report

message /rights/rights/rightbrowse.jsp

description The requested resource (/rights/rights/rightbrowse.jsp) is not available.

再把Forward中path属性前面的/rights 去掉,则页面跳转正确。

4.页面表单Form的请求:

相对路径:action="listrights.do" 没有right开头,直接现对http://localhost:8080/netctoss_my/rights/index.jsp中的right模块

绝对路径:action="action="<%=request.getContextPath()%>/rights/listrights.do""

<form name="rightCondForm" method="post" action="listrights.do">
查询条件:  
模块名称:<input type="text" name="moduleName" value="" style="WIDTH:100px">
权限名称:<input type="text" name="operationName" maxlength="20" value="" style="WIDTH: 100px">
<input type="hidden" name="type" value="1"/>
<input type="submit" value=" 查询">
</form>

总结:Struts1.2在分模块的配置文件中,根据web.xml的配置:

<init-param>
<param-name>config/rights</param-name>
<param-value>/WEB-INF/rights-struts-config.xml</param-value>
</init-param>

前面默认加上了rights。所以在rights-struts-config.xml的配置中,action的path属性不用加上/rights了。

但是,如果整合了Spring,需要对action注入业务service,则spring的资源文件配置如下:

<!-- web start -->
<bean name="/rights/listrights" class="com.tarena.oss.web.actions.RightRoleAction">
<property name="rightService">
<ref bean="rightServiceProxyBean"/>
</property>
</bean>
<!-- web end -->

name="/rights/listrights,不管Spring是否分了模块,这都要加上/rights模块名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值