1

ajax による更新は正常に機能しているようですが、richfaces のポーリングが機能しません。正確に言うと、id someoutput2 の出力要素は、a4j:poll 要素によって 1000 ミリ秒後に更新されません。ページのコードは次のとおりです。

<h:body>
    <h:form id="baseForm">
        <h:outputText value="Input field"/>
        <br/>
        <h:inputText value="#{valueBean.value}"> 
            <f:ajax event="keyup" render="baseForm:someOutput"/> 
        </h:inputText>
        <br/>
        <br/>
        <h:outputText value="Updated via AJAX:" style="color:red"/>
        <br/>
        <h:outputText id="someOutput" value="#{valueBean.value}" />
        <br/>

        <h:outputText value="Updated via Polling:" style="color:green"/>
        <br/>
        <!-- Polling target -->
        <h:outputText id="someOutput2" value="#{valueBean.value}" />
    </h:form> 

    <a4j:region>
        <h:form id="pollForm">
           <a4j:poll id="poll" interval="1000" timeout="500" enabled="true" reRender="pollForm:poll baseForm:someOutput2"/>
        </h:form>
    </a4j:region>
</h:body>

値 Bean のコードは次のとおりです (ここでは特別なものはありません)。

@ManagedBean
@SessionScoped
public class ValueBean {
    private String value = "";

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
4

1 に答える 1

2

コンポーネントを直接更新することはできません<h:outputText>。親で reRender を呼び出す必要があります。<a4j:outputPanel>この場合、おそらく出力をラップしてパネルを再レンダリングしたいと思うでしょう。

于 2013-09-17T09:33:08.063 に答える