我们希望将一个页面的请求作用域中的辅助bean作为查询字符串参数传递给下一页视图范围内的其他辅助bean。
我尝试使用@ManagedParam
,但未找到此签名。
有没有办法做到这一点?
答案 0 :(得分:5)
您可能打算使用@ManagedProperty
。这在视图范围bean上无法用于设置请求参数,因为视图范围的范围比请求范围更广。
传递请求参数和对它们调用操作的规范JSF2方法如下所示:
view.xhtml
查看:
<h:link value="Edit" outcome="edit">
<f:param name="id" value="#{item.id}" />
</h:link>
edit.xhtml
查看:
<f:metadata>
<f:viewParam name="id" value="#{edit.id}" />
<!-- You would normally also convert/validate it here. -->
<f:event type="preRenderView" listener="#{edit.init}" />
</f:metadata>
Edit
支持bean:
@ManagedBean
@ViewScoped
public class Edit {
private Long id;
public void init() {
// This method will be invoked after the view parameter is set.
}
// ...
}