(Primefaces + JSF) ошибка во вкладке ajax - PullRequest
0 голосов
/ 07 марта 2012

мой код:

<h:form id="form">
            <p:tabView dynamic="true" id="tabform" orientation="left">
                <p:tab id="tab1" title="Tree">
                    <p:growl id="messages" showDetail="true" />
                    <p:panel style="float:left">
                        <p:tree value="#{treeBean.root}" var="node" dynamic="true" cache="false"  
                                selectionMode="single"  selection="#{treeBean.selectedNode}" id="tree" >  
                            <p:ajax event="expand" update=":form:tabform:tab1" listener="#{treeBean.onNodeExpand}" /> 

и у меня ошибка: http://i283.photobucket.com/albums/kk308/breakbk/Untitled-1.jpg

, пожалуйста, объясните мне, почему, спасибо за любое предложение:)

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Вы можете использовать следующее решение

вы можете привязать элемент, который вы хотите отрендерить, к хэш-карте, которая будет существовать в области запроса

и чем использовать эту привязку в атрибуте render, это может показаться сложным, но это не

вот пример

Поместить HashMap в область запроса face-config.xml:

<managed-bean>
    <description>Holder of all component bindings.</description>
    <managed-bean-name>components</managed-bean-name>
    <managed-bean-class>java.util.HashMap</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

чем использовать это так:

<p:message binding="#{components.myMessage}"></p:message>

или

 <p:tab binding="#{components.myTabName}"></p:tab>

и, наконец, отобразить это так

<p:ajax event="expand" update="#{components.myMessage.clientId}" listener="#{treeBean.onNodeExpand}"></p:ajax>

или

<p:ajax event="expand" update="#{components.myTabName.clientId}" listener="#{treeBean.onNodeExpand}"></p:ajax>

Это решение было взято из более старых ответов BalusC о том, как получить идентификатор смотрите здесь ...

0 голосов
/ 07 марта 2012

Похоже, что это проблема неправильного идентификатора в p:ajax обновлении attribute.

Просмотрите исходный HTML-код вашей страницы и определите правильный идентификатор вкладки.Возможно, вы пропустили подкомпонент в строке идентификатора.

...