带小面的循环
我正在使用 jsf2
和 facelets
开发应用程序。在我的视图之一中,我尝试显示数据库中的数据,并使用两个嵌套循环。第二个循环使用 var,它是为第一个循环声明的 var 的属性。
但这不起作用。
这是我的代码的相关部分:
<ui:repeat value="#{MyBean.Vect}" var="item">
<h:outputText value="${item.attr}" /> <br />
<ui:repeat value="#{item.nestedtVect}" var="product" >
<h:outputText value="${product.name}" /> <br />
</ui:repeat>
</ui:repeat>
第一个循环有效,但两者都无效。
I'm developing an application using jsf2
and facelets
. In one of my views I try to display data from a database and I use two nested loops. The second loop uses a var which is an attribute of the var declared for the first loop.
But it's not working.
Here is the relevant part of my code:
<ui:repeat value="#{MyBean.Vect}" var="item">
<h:outputText value="${item.attr}" /> <br />
<ui:repeat value="#{item.nestedtVect}" var="product" >
<h:outputText value="${product.name}" /> <br />
</ui:repeat>
</ui:repeat>
The first loop works but not both.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您确定
item.nestedtVect
不为 null 并且确实有项目吗?乍一看,您的 Facelet 似乎是正确的。例如,考虑这个最小的示例:
支持 bean:
Facelet:
This Just Works™。您可能需要进行显式测试来查看嵌套集合是否为空:
ps
与问题无关,但您可能想查看您的命名。
MyBean.Vect
并不是一个真正好的名字,item.attr
中的attr
也不是一个好名字。此外,您似乎没有明显的原因混合了延迟语法和立即语法(#{}
和${}
)。Are you sure
item.nestedtVect
is not null and actually has items? Your Facelet seems to be correct at first sight.E.g. consider this minimal example:
Backing bean:
Facelet:
This Just Works™. You might want to put in an explicit test to see if your nested collection is empty or not:
p.s.
Unrelated to the question, but you might want to look at your naming.
MyBean.Vect
is not a really good name, and neither isattr
initem.attr
. Also, you seem to mix deferred and immediate syntax (#{}
and${}
) for no apparent reason.