嗨,我有一个像
这样的变量List<List<MyObject>> x = new ArrayList<List<MyObject>>();
我希望这个绑定到jsf中包含select
的数据表<datatable>
<column>
<Select/>
</column>
</datatable>
这是否可以在jsf
中使用代码: view.xhtml
<h:dataTable id="i1" value="#{bean.listoflist}" var="list1">
<h:column>
<h:selectOneListbox value="#{bean.somestring}" >
<f:selectItems value="#{list1.?}" var="any" itemValue="#{any.??}/>"
</h:selectOneListbox>
</h:column>
</h:dataTable>`
Bean.java(name =“bean”)
public class Bean implements Serializable
{
List<List<MyObject>> listoflist = new ArrayList<List<MyObject>>()
//--------------Getters and Setter
}
MyObject.java
public class MyObject
{
private String s1;
private String s2;
//---------------getter and setter
}
答案 0 :(得分:2)
如果我理解你的问题,你想要制作一个选择元素的数据表,其选项来自模型的嵌套列表。如果是,这是解决方案:
您可以在下面找到一个有效的例子:
<h:dataTable value="#{bean.listOfLists}" var="list" binding="#{table}" >
<h:column>
<h:selectOneListbox value="#{bean.selection[table.rowIndex]}" converter="myObjectConverter" >
<f:selectItems value="#{list}" var="obj" itemValue="#{obj}" itemLabel="#{obj.s1}" />
</h:selectOneListbox>
</h:column>
</h:dataTable>
与
MyObject[] selection = new MyObject[listOfLists.size()];