如何传递查询字符串参数?

时间:2012-01-05 18:19:41

标签: jsf-2

我们希望将一个页面的请求作用域中的辅助bean作为查询字符串参数传递给下一页视图范围内的其他辅助bean。

我尝试使用@ManagedParam,但未找到此签名。

有没有办法做到这一点?

1 个答案:

答案 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.
    }

    // ...
}

另见: