Я использую Primefaces DataTable, он использует значение из bean-компонента, предоставляющего список.и мы отображаем строку для каждого элемента из списка.
Также у меня есть другой список, который используется для отображения значений в каждой строке для каждого из его столбцов.
Работает приведенный ниже примерочень хорошо.
ИСПОЛЬЗОВАНИЕ ЗНАЧЕНИЙ ИЗ БИНА
<p:dataTable var="item" value="#{bean.items}">
<p:columns var="value" value="#{bean.values}">
<p:outputLabel value="#{value}"/> <!--[WORKS FINE !!!]-->
</p:columns>
</p:dataTable>
Если вместо использования значений из бина я пытаюсь использовать значения из самого элемента, он ничего не отображает!
ИСПОЛЬЗОВАНИЕ ЗНАЧЕНИЙ ИЗ СЕБЯ ПУНКТА
<p:dataTable var="item" value="#{bean.items}">
<p:columns var="value" value="#{item.values}">
<p:outputLabel value="#{value}"/> <!--[DOES NOT DISPLAY ANYTHING !!!]-->
</p:columns>
</p:dataTable>
Бин является следующим, и он отображает строки в виде данных при использовании значений оттуда.
@Named("bean")
@ViewScoped
public class Bean implements Serializable
{
private static final long serialVersionUID = 1L;
private List<Item> _items = new LinkedList<>();
private List<String> _values = new LinkedList<>();
public List<Item> getItems() {return _items;}
public void setItems(List<Item> items) {_items = items;}
public List<String> getValues() {return _values;}
public void setValues(List<String> values) {_values = values;}
//[BUILD]
@PostConstruct public void init()
{
_items.add(new Item());
_items.add(new Item());
_items.add(new Item());
}
}
Объект Item являетсяниже, и он не отображает строки при использовании значений оттуда.
public class Item
{
private List<String> _values = new LinkedList<>();
public List<String> getValues() {return _values;}
public void setValues(List<String> values) {_values= values;}
//[BUILD]
public Item()
{
_values.add("value0");
_values.add("value1");
_values.add("value2");
}
}
Почему в файле с данными простого лица не отображается ни одной строки в том случае, если я использую список значений из внешнего объекта, как показано ниже ???
РАБОТАЕТ ШТРАФНО!
<p:dataTable var="item" value="#{bean.items}">
<p:columns var="value" value="#{bean.values}"><!--[USING BEAN LIST<STRING> -->
<p:outputLabel value="#{value}"/>
НЕ РАБОТАЕТ!
<p:dataTable var="item" value="#{bean.items}">
<p:columns var="value" value="#{item.values}"><!--[USING ITEM LIST<STRING> -->
<p:outputLabel value="#{value}"/>