Я использую Primefaces и JSF для разработки этого интерфейса. Моя проблема в том, что один из моих selectonemenus никогда не устанавливает привязку к значению «selectedGroup», поэтому второе выпадающее меню никогда не заселено. Мой бэк-бэнд вызывается для «обновления» второго selectonemenu, но слушатель этого ajax не вызывается и не выбирается группой, когда-либо установленной. Этот код фактически идентичен витрине для "Select". Я даже подтвердил, что код витрины работает с нуля (что я не сомневался), но не вижу, как моя ситуация отличается от этого примера.Основные/JSF: selectOneMenu значение не установлено, ajax прослушиватель не называется
Другие вопросы о stackoverflow по этой теме указывают на то, что что-то было не учтено, но ни одно из этих предложений не соответствовало моей проблеме.
У меня есть два selectOneMenus, вот так.
<h:form id="outerForm">
<p:panel id="outerPanel">
<p:panelGrid id="outerPanelGrid">
<h:outputLabel for="groupSelection" value="Group: "/>
<p:selectOneMenu id="groupSelection" value="#{myBean.selectedGroup}" >
<p:ajax update="commandSelection"
listener="#{myBean.handleGroupSelection}" />
<f:selectItem itemLabel="---Please Select Group---" itemValue=""/>
<f:selectItems var="group" value="#{myBean.groups}"
itemLabel="#{group.name}" itemValue="#{group.name}" />
</p:selectOneMenu>
<h:outputLabel for="commandSelection" value="Command: "/>
<p:selectOneMenu id="commandSelection" value="#{myBean.command}">
<f:selectItems value="#{myBean.commandStringsList}"/>
</p:selectOneMenu>
</p:panelGrid>
</p:panel>
</h:form>
Эта страница отображается в «центре» части моего шаблона макета, как так ..
<ui:define id="content" name="content">
<p:panel id="contentPanel" style="float:left; border:none">
<ui:include src="#{anotherBean.currentView}.xhtml"/>
</p:panel>
</ui:define>
Подложка боб ДЕЛАЕТ использовать некоторые классы данных содержат некоторые из данных, которые заселены , но я думал, что делаю все правильно, чтобы отобразить его в виде. Тем не менее, я использую Strings.
Кто-нибудь видит, что мне не хватает? По крайней мере, действительно ли этот xhtml?
Следует также упомянуть, что эта страница работала до того, как я создал и использовал шаблон. В основном, я отображал его на вкладке tabview с помощью ui: include в теле index.xhtml. Хотя я и не заметил изначально, эта страница перестала работать после того, как я включил шаблон (плохое тестирование с моей стороны, я знаю).
Просто уточнить: ваш идентификатор формы является внешним. у вас нет вложенных форм, правильно? – 757071
Правильно, ui: define существует в композиции ui: и макет шаблона также не содержит никаких форм. – ThatsAMorais
Перейдите по http://stackoverflow.com/a/2120183/757071 и http://stackoverflow.com/a/16125396/757071, точки в ответе могут помочь. – 757071