Я получаю вызов в потоке метода, который возвращает HashSet
из Person
назад. Затем я вызываю Set
в свой файл xhtml с Primeface-dataTable
. Теперь я хочу отобразить имя пользователя, но появляется ошибка и говорит, что он не нашел «prename» ...Почему Set does not работает в потоке веб-страниц и Primefaces
Затем я поместил HashSet в ArrayList
и сделаю то же самое. И ... это прекрасно работает! Но почему?
Набор и использование списков в качестве СуперинтерфейсыCollection
& Iterable
. Так почему это не работает с Set?
Вот части файлов:
flow.xml
<view-state id="rcpm" view="rc/rcmembers.xhtml">
<on-entry>
<evaluate expression="RCHtmlCache.getCommunityList('rcpm')"
result="flowScope.members" />
</on-entry>
</view-state>
rcmembers.xhtml
<p:dataTable id="table1" var="member" value="#{members}"
sortMode="multiple" rowIndexVar="status"
emptyMessage="The Community is empty.">
<p:column>
<f:facet name="header">
<h:outputText value="Vorname" />
</f:facet>
<h:outputText value="#{member.vorname}" />
</p:column>
RCHtmlCache.javaSet Версия
public Set<Person> getCommunity(String key) {
return htmlCache.get(key);
}
RCHtmlCache.javaСписок Версия
public List<Person> getCommunityList(String key) {
Set<Person> comList = htmlCache.get(key);
ArrayList<Person> result = new ArrayList<Person>();
for (Person person : comList) {
result.add(person);
}
return result;
}
Надеется, что вы можете объяснить мне этот странный случай ...
Итак, желаемая функциональность заключается в том, чтобы просто использовать код «Set» для отображения этого найденного значения ключа? – Walls
Нет, код работает со списком. мой вопрос в том, почему он не будет работать с Set? Набор также повторяется, как список ... –
См. Adam Winer (бывший JSF dev) в оригинальном обосновании: [Использует наборы с UIData] (http://sfjsf.blogspot.co.uk/2006/03/usings-sets -с-uidata.html). Короче говоря, 'UIData' был разработан для индексированных данных. – McDowell