UI: повтор не работает, ничего в DOM, а также - PullRequest
0 голосов
/ 30 июня 2018

У меня есть этот простой код, который использует ui: repeat и на основе списка элементов он должен выводить некоторые данные, используя h: outputText.

Код XHTML

<p:fragment id="tail_content" rendered="#{cBean.activated}">
	<ui:fragment rendered="#{mBean.stubMytile}">
		<div id="detail_information_mytile" class="data-sidebar">
			<ul>
				#{mBean.dataList.size()} <!-- This prints correctly based on the elements present in the list -->
				<ui:repeat var="info" value="#{mBean.dataList}">
						<li> <!- not present in DOM -->
							<div class="float-container">
								test <!- not present in DOM -->
								<div class="pull-left">
									<h:outputText id="outputText_Type" value="#{info.type}"/>
								</div>
								
								<div class="pull-right"> 
									<h:panelGroup styleClass="tile_spinner">
										<!-- some h:outputs displaying data from the bean -->
									</h:panelGroup>
								</div>
							</div>
						</li>
						<li>
							<div class="float-container">
								<div class="pull-left">
									<h:outputText value="#{info.nickname}" />
								</div>
							</div>
						</li>
				</ui:repeat>    				
			</ul>
		</div>
	</ui:fragment>
</p:fragment>

MBean

private List<DataInfo> dataList; //Getter setters have been generated.

Атрибуты DataInfo - класс сериализован

//Getter setters have been generated.
private String type;
private String integer;
private String decimal;
private String nickname;

Вывод - представление DOM - обратите внимание, что в DOM нет тегов 'li', даже если размер списка равен 2.

<div id="viewns_Z7_80E418O0L04R30A3DRP3GU12C4_:leftSideBar_form:tail_content">
	<div id="detail_information_mytile" class="data-sidebar">
		<ul>
			2

		</ul>
	</div>
</div>

При этом я подозреваю, что проблема в пользовательском интерфейсе: повторите, поскольку он не может перебрать элементы и распечатать их. Пробовал разные вещи, но безуспешно.

Некоторая дополнительная информация

  1. xmlns используется xmlns: ui = "http://java.sun.com/jsf/facelets"
    1. попытался напечатать значения как # {mBean.dataList.get (0) .type}, и это работает.
    2. Метод size () не переопределяется.
    3. Используемая версия jsf-api - 2.0.3-b05. Да, она довольно старая (но, см. № 5)
    4. Один и тот же фрагмент кода развернут на 3 серверах, он работает на 2 из них, но не на одном. И этот вопрос относится к тому серверу, на котором он не работает.
    5. Сервер (все 3): IBM Portal 8

Дайте мне знать ваши выводы и любые предложения, которые я могу попробовать.

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