日期:2014-05-18  浏览次数:20597 次

Spring整合Struts2遇到的很奇怪的问题
jsp:
      就一个简单的表单action="reg.action"
RegAction:
      execute()函数直接返回SUCCESS

struts.xml:
      
<package name="regist" extends="struts-default">
    <action name="reg" class="reg">
        <result name="success">/regsuccess.jsp</result>
        <result name="input">/reg.jsp</result>
    </action>
    
</package>


applicationContext.xml:
      
<bean id="reg" class="com.etc.action.RegAction" scope="prototype" />



错误:No result defined for action RegAction and result success 

网上一位兄台跟我的错误一样,照他的方法也解决了,但是不知道什么原因
http://www.iteye.com/problems/79664
解决办法:action中的name属性改成不是reg就行了


请大神说下为什么?
------解决方案--------------------
<bean id="reg" class="com.etc.action.RegAction" scope="prototype" />
带上前缀呗如etc.regAction.reg
如果楼主有第二个登陆模块是不用要取名reg2?
reg,index,login,add,delete,update等词还是不用随便用,重复几率太大。。。
曾经有个童鞋在session中放了个变量  city  然后另一位童鞋在request中放了个变量 city
导致加班2小时才找出原因,教训惨痛啊,楼主谨记
------解决方案--------------------
引用:
<bean id="reg" class="com.etc.action.RegAction" scope="prototype" />
带上前缀呗如etc.regAction.reg
如果楼主有第二个登陆模块是不用要取名reg2?
reg,index,login,add,delete,update等词还是不用随便用,重复几率太大。。。
曾经有个童鞋在session中放了个变量  city  然后另一位童鞋在request中放了个变量 city
导致加班2小时才找出原因,教训惨痛啊,楼主谨记

...我也遇见过,由于各个模块action的xml是分开的,所以一个童鞋复制黏贴的首页xml,把命名空间也复制过去了,然后标准的index命名空间怎么也跳不进,一开始也以为是关键字,然后以为是环境问题,各种纠结啊
最后查了一下午才发现的.....