Primefaces绑定页面属性

时间:2015-05-27 05:33:11

标签: jsf primefaces

我是Primefaces的新手。现在我正在将RichFaces迁移到Primefaces 5.1。在RichFaces中,每个表单都有绑定initForm来绑定Page Attributes.In相同的表单绑定使用PrimeFaces或任何其他属性来绑定页面属性。

我在Richfaces中使用下面的代码:

<f:subview id="testSubView">
<h:form id="testForm" binding="#{test.initForm}">
........
</h:form>
<f:subview>

Test.java

public HtmlForm initForm()
{
    fetchIntialPageAttributes();
    return initForm
}

private void fetchIntialPageAttributes()
{
    userTextbox="";
    messagePanelRender=true;
    userCommandButton=true;
    userCommanButtonValue="save";
}

现在怀疑在Primefaces中使用表单加载相同的绑定属性时最初绑定。

1 个答案:

答案 0 :(得分:1)

使用<f:event type="postAddToView">或者<f:event type="preRenderView">来代替在视图构建时将组件添加到视图之后,或者可能在视图渲染时间之前立即触发托管bean侦听器方法。 p>

<h:form id="testForm">
    <f:event type="postAddToView" listener="#{test.fetchIntialPageAttributes}" />
    ...
</h:form>

请注意,这一切并非针对PrimeFaces(也不是RichFaces),而是针对JSF本身。 binding属性在JSF 1.x时代实际上是一个黑客/解决方法。这是JSF 2.0添加新组件系统事件和<f:event>标记的原因之一。理想的JSF 2.x页面不会在任何地方的支持bean属性上使用binding

另见: