There is no Action mapped for namespace [/] and action name [/select] associated with context path [].
action的访问,我们采用了动态方法调用的方式来访问,也就是使用叹号“!”,有些需求是需要跳转到另一个action的,这种跳转有两种方式,一个是redirect,另外一个是chain。
redirect这种方式下,会有比较大的问题:
redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。
chain 用于把相关的几个action连接起来,共同完成一个功能。
所以很多情况下,我们需要用chain这种方式。
解决办法:
@Result(name="success",params={"actionName","select","namespace","/*","method","select"}, type="chain")