2011-10-18 109 views
0

我正在使用JSF 1.2。我有一个按钮的页面。挂钩到该按钮的操作向请求对象添加请求属性并导航到page2。在第2页上,我尝试使用#{requestScope.attr}检索该属性。但这不起作用。任何想法为什么?JSF请求属性

Thx。

回答

1

显然,page2是由不同的HTTP请求请求的。如果您在完成操作方法时发送了重定向而不是前进,则会发生这种情况。例如,通过在操作方法中调用ExternalContext#redirect()或在导航案例中添加<redirect />。重定向基本上指示浏览器创建一个全新的HTTP请求。

这就是说,我想知道如果您已经使用JSF,明确设置请求属性是非常有用的。只需将所需的数据分配为当前bean的属性(我认为它只是请求范围)。

private String foo; // +getter 

public String submit() { 
    foo = "some value"; 
    return "nextpage"; 
} 

这种方式只能在#{bean.foo}下一页中使用。

<h:outputText value="The value is: #{bean.foo}" />