该报错的解决办法参考自:http://javeye.iteye.com/blog/238559
使用spring+struts+hibernate时,如果action没有使用session、request、response时,正常。
但使用了上述3个域,报了如下错误
HTTP Status 500 - Unable to instantiate Action, com.ssh.action.user.SearchUserAction, defined for 'listAction' in namespace '/user'No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
---------------------
我当时的写法是写了一个父类SuperAction,该类继承ActionSupport,实现了3大接口:
implements SessionAware,ServletRequestAware,ServletResponseAware,ServletContextAware{...}
目的是在action中使用request、response、session来存储、传递数据
写了一个普通action类AbcAction extends SuperAction,结果报了上述错误。除去继承的SuperAction,可以正常查询数据库(ssh)
------------------------
查了网上的帖子,参考自:http://javeye.iteye.com/blog/238559
在web.xml中,strust的Filter之前加入
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
OK,没有那个报错了。