‹ui:repeat› появляется в результирующем HTML

У меня есть простой фоновый компонент:

@Named
@RequestScoped
public class BackingBean {

  public String[] getStorageLocations() {
    return new String[]{"0088", "0016", "0022"};
  }
}

В файле xhtml я использую тег <ui:repeat /> для вывода массива строк из вспомогательного компонента:

<ui:repeat value="#{backingBean.storageLocations}" var="location">
  <h:panelGroup layout="block">
    <h:outputText value="#{location}" />
  </h:panelGroup>
</ui:repeat>

Чего я ожидаю, так это:

<div>0088</div>
<div>0016</div>
<div>0022</div>

Что я действительно получаю от JSF, так это:

<ui:repeat>0088</ui:repeat>
<ui:repeat>0016</ui:repeat>
<ui:repeat>0022</ui:repeat>

Что я делаю не так?


person marius.7383    schedule 25.10.2013    source источник


Ответы (2)


Я предполагаю, что вы используете GF4. Это была ошибка. Попробуйте обновить банку javax.faces последней выпущенной версией.

person Ioannis Deligiannis    schedule 25.10.2013
comment
Спасибо, теги <ui:repeat /> больше не отображаются в HTML-выводе. Но <divs /> до сих пор не производятся. Это связано с ошибкой в ​​javax.faces.jar? - person marius.7383; 25.10.2013
comment
Добро пожаловать. Я не сталкивался с этой проблемой раньше. Чтобы проверить, является ли это ошибкой, попробуйте добавить styleClass в группу панелей. Если это не сработает, я подниму новый вопрос. удачи - person Ioannis Deligiannis; 26.10.2013
comment
Добавление styleClass сработало и правильно создало div. Еще раз спасибо, Джон Д, ты избавил меня от многих проблем. - person marius.7383; 28.10.2013

Более простое решение: измените URL-адрес xmlns на sun:

из:

xmlns:ui="http://xmlns.jcp.org/jsf/facelets"

to:

xmlns:ui="http://java.sun.com/jsf/facelets"

(спасибо http://blog.coffeebeans.at/?p=775)

person Michael Bar-Sinai    schedule 30.04.2014