如何在页面加载时重新启动会话bean中的某些值?

时间:2013-06-15 10:57:56

标签: jsf

我想使用会话范围制作类似于查看范围的内容。 我有一个会话bean,在我的页面中我有一些搜索结果表,我想清除它们并清除页面加载时的输入文本,我无法从会话bean更改为请求bean,我唯一的想法现在是在页面上添加一个清除按钮,它的动作方法将重置表格和输入文本。

我正在使用 jsf 1.1 ,请告知最佳方法。

1 个答案:

答案 0 :(得分:3)

检查请求是否是GET请求(或者,至少不是POST请求)。

HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();

if ("GET".equals(request.getMethod())) {
    // ...
}

在JSF 1.2上,您已使用ResponseStatemanager#isPostback()进行此操作 在JSF 2.x上,您已经使用了FacesContext#isPostback()

您可以在(隐藏)输出组件的getter中执行此操作。


完全不同的替代方法是安装Tomahawk并使用<t:saveState>来模拟请求范围bean上的JSF 2.x视图范围。