Визуализация компонента вне формы - PullRequest
1 голос
/ 01 февраля 2012

Требуется визуализировать компонент вне формы после вызова ajax.Я попытался с помощью следующего кода, но текст не обрабатывается.

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ads="http://java.sun.com/jsf/composite/components">
   <ui:include src="secondfile"/>
   <h:panelGroup id="panel1" rendered="#{bean.access}">
      Some text
    </h:panelGroup>
</ui:composition>

Второй файл:

   <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ads="http://java.sun.com/jsf/composite/components">
         <f:ajax render="@form _panel1">
    <h:selectOneRadio id="access" value="#{beanTO.access}">
       <f:selectItem itemValue="true" itemLabel="yes"/>
           <f:selectItem itemValue="true" itemLabel="yes"/> 
        </h:selectOneRadio>
        </f:ajax>
    </ui:composition>

1 Ответ

1 голос
/ 01 февраля 2012

Я предполагаю, что вы изменили символ разделителя именования контейнеров по умолчанию с : на _, в противном случае вам следовало бы использовать :panel1 вместо _panel1)

Вы пытаетесь ajax-рендерить компонент, который сам по себе условно отображается на стороне сервера. Это не будет работать, если компонент не отображается в первую очередь. JS не сможет найти нужный HTML-элемент для обновления после получения ответа ajax. Вам нужно обернуть его в другой компонент, который всегда отображается в выводе HTML, и установить условие rendered для обернутого компонента.

<h:panelGroup id="panel1">
    <h:panelGroup rendered="#{bean.access}">
        Some text
    </h:panelGroup>
</h:panelGroup>

Смотри также:

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