ssh 框架整合事,使用注解,action提示找不到

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")
上一篇:刷题记录:[强网杯 2019]Upload


下一篇:刷题记录:[DDCTF 2019]homebrew event loop