可能是一个noob问题,但是我可以从struts Form对象中访问存储在会话中的变量吗?
public class MyForm extends ActionForm {...}
答案 0 :(得分:4)
我们使用Struts 1开发并维护了一个非常大的项目。我知道你的问题,我们有一个ActionContext
类,带有ActionContextFilter
,过滤器将请求和响应对象绑定到当前线程使用ThreadLocal
成员(显然在过程结束时将它们解除绑定)。
现在,我们可以使用ActionContext.getCurrentContext().getRequest()
和ActionContext.getCurrentContext().getResponse()
访问请求,响应和...
我相信同样的事情可以帮助你。
整个想法来自 Clinton Begin (iBatis的作者)样本PetStore;他在该示例中围绕Struts 1构建了一个很好的扩展。我建议你回顾整个工作。
答案 1 :(得分:1)
您需要在actionServlet(或)JSP中为表单设置值。我不认为你可以在这里直接访问请求(除非你做一些自定义)。
答案 2 :(得分:0)
您可以使用HttpServletRequest
:
request.getSession(false).getAttribute("yourAttributeName");
答案 3 :(得分:0)
没有在家尝试但你可以使用:
private HttpServletRequest request;
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.request = request;
}
并将请求存储在本地字段中供以后使用,如上所述。