我正在尝试做动态数据表。我有一个ArrayList,里面有ArrayList类型的对象,我想用不同数量的元素做几个表,但是我没有得到这个代码的预期结果:
<c:forEach var="lista" items="#{controller.listas}" varStatus="status">
<p:dataTable id="teste#{status.index}" var="obj" value="lista" scrollable="true"
selectionMode="single" sortMode="multiple" selection="#{controller.selected}"
rowKey="#{obj.id}" scrollHeight="200">
<p:column headerText="PRAZO">
<h:outputText value="#{obj.att1}" />
</p:column>
<p:column headerText="COMBINAÇÃO">
<h:outputText value="#{obj.att2}" />
</p:column>
<p:column headerText="AÇÃO">
<h:outputText value="#{obj.att3}" />
</p:column>
</p:dataTable>
</c:forEach>
在我的控制器中我有一个像这样的ArrayList:
private ArrayList<ArrayList<Foo>> listas = new ArrayList<ArrayList<Foo>>();
在listas中我有3个ArrayList,第一个有1个对象,第二个有1个对象,第三个有2个对象,执行这个代码它做3个表(ok),每个4行(不行)... < / p>
有什么想法吗?
答案 0 :(得分:0)
虽然@Mindwin提到你不应该混合使用JSLT和JSF标签,但我仍然试图修改你的代码,这就是你想要的:(但我认为你应该尝试@Mindwin所说的。)
除了将value="lista"
更改为value="#{lista}"
之外,我没有编辑您的代码
您应该使用EL而不是简单地用字符串调用lista
祝你好运,新年快乐。