【问题标题】:Richfaces polling failsRichfaces 轮询失败
【发布时间】:2013-09-13 13:04:59
【问题描述】:

通过 ajax 更新似乎工作正常,但我无法让richfaces 轮询工作。准确地说:带有 id someoutput2 的输出元素在 1000 毫秒后不会被 a4j:poll 元素更新 这是页面的代码:

<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>

这里是 value bean 的代码(这里没什么花哨的):

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

    public String getValue() {
        return value;
    }

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

【问题讨论】:

    标签: jsf-2 richfaces facelets polling


    【解决方案1】:

    您不能直接更新 &lt;h:outputText&gt; 等组件,您必须在其父级上调用 reRender。在这种情况下,您可能希望将输出包装在 &lt;a4j:outputPanel&gt; 中并重新渲染面板。

    【讨论】:

      猜你喜欢
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2017-10-18
      • 1970-01-01
      相关资源
      最近更新 更多