Не совсем понятно, что именно вы имеете в виду под "datalist", но Томагавк <t:dataList>
по умолчанию не генерирует HTML, если вы пропустите атрибут layout
, так что это должно сработать для вы.
<ul>
<t:dataList value="#{memberHandler.subTypes}" var="subType">
<li><h:outputText value="#{subType.fullSubtypeDisplayName}"/></li>
</t:dataList>
</ul>
Кстати, установка layout="unorderedList"
должна отображать точно такой же <ul><li>
, как в примере выше:
<t:dataList value="#{memberHandler.subTypes}" var="subType" layout="unorderedList">
<h:outputText value="#{subType.fullSubtypeDisplayName}"/>
</t:dataList>
При использовании JSTL <c:forEach>
в шаблоне JSP, ссылающемся на значение управляемого бина, вы зависите от используемой версии JSP и от того, JSF уже заранее создал управляемый бин. При использовании Servlet 2.5 / JSP 2.1 вы должны иметь возможность использовать #{}
в тегах JSTL:
<ul>
<c:forEach value="#{memberHandler.subTypes}" var="subType">
<li><h:outputText value="#{subType.fullSubtypeDisplayName}"/></li>
</c:forEach>
</ul>
При использовании Servlet 2.4 / JSP 2.0 вы должны придерживаться ${}
и использовать <c:out>
вместо <h:outputText>
и убедиться, что JSF уже автоматически создал управляемый bean-компонент в шаблоне представления с помощью #{}
, который вызывает автоматическое создание бобы, тогда как ${}
нет.
<h:someComponent value="#{memberHandler.someThing}" />
...
<ul>
<c:forEach value="${memberHandler.subTypes}" var="subType">
<li><c:out value="${subType.fullSubtypeDisplayName}"/></li>
</c:forEach>
</ul>
Томагавк <t:dataList>
был бы намного лучшей альтернативой здесь.