struts中的请求属性行为

时间:2013-03-20 16:03:52

标签: java struts httprequest

我想了解请求属性的行为方式。我已经在会话中设置了一些值,这给了我很多问题。我将它们全部转换为请求属性。

我有一个动作类,在视图方法中我设置了这样的东西,

       public ActionForward view(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception
        {
//...
request.setAttribute("abc", abc);
//...
    }

单击选项卡并显示页面时,将调用此视图方法。此页面中有另一个名为“导出”的按钮。我已经使导出调用相同的操作类并调用一个名为exportExcel的方法,如下所示:

public void exportExcel(ActionMapping mapping, ActionForm actionForm,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception
    {
    if(request.getAttribute("abc")!=null){
        String def = (String)request.getAttribute("abc");
    }
}

假设我会得到请求参数。它没有用。另外,我不想在会话中设置此变量。在此exportExcel方法中是否有解决方法来获取此请求属性?

2 个答案:

答案 0 :(得分:1)

在你的jsp中你需要创建name="abc"的隐藏输入字段并将其值设置为abc请求属性值。 这样,当用户点击导出按钮时,它将被提交回来。

如果您的导出按钮是锚点,那么您可以使用abc参数名称/值设置其href

答案 1 :(得分:1)

请求属性仅在单个请求的持续时间内存在;这就是请求范围的目的。如果您希望在请求中持久,请将其保留在会话

如果要在 new 请求中重新创建某些内容,请使用表单元素,URL参数等。

相关问题