无法使用(Primefaces)p:ajax调用更新h:outputText标记

时间:2012-08-18 14:53:07

标签: ajax jsf-2 primefaces

我想为用户输入名称,更新名称字段在tabion id =“tab4”中的accordionPanel。 使用java.lang.IllegalArgumentException: out - 标签的ID

给我一​​个错误
    <ui:define name="contentBody">
        <h:form id="form2">

        <p:accordionPanel id="maintab" multiple="true">
        <p:tab title="New Order">
            <h:panelGrid columns="1" cellpadding="5"> 

            <p:tabView id="tabView">
                <p:tab title="Client" id="tab1">
                    <h:panelGrid columns="6" cellpadding="5">

                        <h:outputText value="Name " />
                        <p:inputText id="name" value="#{newOrderBean.name}">
                            <p:ajax update=":form2:maintab:out:name_id" />
                        </p:inputText>

                    </h:panelGrid>
                </p:tab>
            </p:tabView>

            </h:panelGrid>
        </p:tab>

        <p:tab id="out" title="View Deatails">
            <h:panelGrid id="panelgrid" columns="3" cellpadding="5">
                <p:panel id="panel1" header="Client" style="width:200px;height:200px" >
                    <h:panelGrid id="grid1" columns="1">  
                        <h:outputText id="name_id" value="#{newOrderBean.name}" />
                    </h:panelGrid>
                </p:panel>

            </h:panelGrid>
        </p:tab>
        </p:accordionPanel>

        </h:form>
    </ui:define>

请您澄清一下我需要将我的组件分成不同形式的情况,因为现在我把整个页面放到一个表单标签中。谢谢

1 个答案:

答案 0 :(得分:1)

解决了! 使用此代码:

<h:outputText value="Name " />
<p:inputText id="name" value="#{newOrderBean.name}">
    <f:ajax event="keyup" render=":form2:maintab:name_id" />
</p:inputText>