Обновление Ajax не работает - PullRequest
0 голосов
/ 19 октября 2011

Почему #{uImanager.select} никогда не обновляется?

<p:panel id="EditDetailsPanel" header="Edit Details">
    <h:panelGrid columns="2" cellpadding="5">
        <h:outputLabel value="Simple :" />
        <h:selectOneMenu value="#{uImanager.select}">
            <f:selectItem itemValue="val1" itemLabel="Coffee1" />
            <f:selectItem itemValue="val2" itemLabel="Coffee2" />
            <f:selectItem itemValue="val3" itemLabel="Coffee3" />                                  
        </h:selectOneMenu>
    </h:panelGrid>
    <p:commandButton value="Submit" update="EditDetailsForm:EditDetailsPanel"/>
    #{uImanager.select}
</p:panel> 

Указывает на private String Select; с геттером и сеттером.Он определен в управляемом bean-объекте сеанса.

1 Ответ

1 голос
/ 19 октября 2011

Поскольку ваш атрибут update, скорее всего, указывает на недопустимый идентификатор клиента.Если вы обратили внимание на журналы сервера, то вы должны были увидеть что-то вроде следующего от PrimeFaces:

INFO: Cannot find component with identifier "EditDetailsForm:EditDetailsPanel" in view.

Поскольку <p:panel> находится внутри того же родителя UINamingContainer, что исам <p:commandButton> (по крайней мере, на основе кода, который вы опубликовали до сих пор), вы можете просто указать его относительный идентификатор клиента:

<p:commandButton value="Submit" update="EditDetailsPanel"/>

Или, если вы настаиваете на указании абсолютного идентификатора клиента, затем вам нужно добавить префикс ::

<p:commandButton value="Submit" update=":EditDetailsForm:EditDetailsPanel"/>

Обратите внимание, что это работает, только если <h:form> сам по себе не имеет другого UINamingContainer родителя.Откройте страницу в браузере, щелкните правой кнопкой мыши и Просмотр источника , чтобы вычислить сгенерированный идентификатор элемента HTML.Наконец, вам нужно принять это значение с префиксом :.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...