Jsf 2 Primefaces条件逻辑在<;p:dataGrid>;
我有一个数据表,每列有两个图像,一个显示,另一个隐藏图像不显示。如果属性#{person.isLocked}结果集设置为“T”,则可以将隐藏图像显示在另一个图像的顶部。我的代码有一个div,其中有两个div,一个用于主图像,另一个用于将要覆盖的图像。(下面的代码)要覆盖的图像具有样式属性display:none。我需要以某种方式检查#{person.isLocked}是否等于'T',如果是,那么我需要将css更改为display:block;否则就别管它了Jsf 2 Primefaces条件逻辑在<;p:dataGrid>;,jsf-2,primefaces,Jsf 2,Primefaces,我有一个数据表,每列有两个图像,一个显示,另一个隐藏图像不显示。如果属性#{person.isLocked}结果集设置为“T”,则可以将隐藏图像显示在另一个图像的顶部。我的代码有一个div,其中有两个div,一个用于主图像,另一个用于将要覆盖的图像。(下面的代码)要覆盖的图像具有样式属性display:none。我需要以某种方式检查#{person.isLocked}是否等于'T',如果是,那么我需要将css更改为display:block;否则就别管它了 <p:dataGrid var=
<p:dataGrid var="person" value="myBean.people">
<p:column>
<h:panelGird style="margin-left:auto; margin-right:auto;">
<div>
<div style="position:absolute; z-index:1;">
<p:graphicImage value="image?id=#{person.id}" cache="false"/>
</div>
<div style="position:absolute; z-index:100; display: none;">
<p:graphicImage value="./images/lock.png" cache="true"/>
</div>
</div>
</h:panelGrad>
</p:column>
</p:dataGrid>
我提出的唯一解决方案是,不要在数据库中将'T'或'F'存储为#{person.isLocked},而是存储css属性,这样我就可以存储'block'或'none',然后像这样调用person属性
<div style="position:absolute: z-index:100; display: #{person.isLocked}">
<p:graphicImage value="./images/lock.png" cache="true"/>
</div>
但这似乎是个糟糕的设计。我不想仅仅为了显示而操纵数据库中的数据。有人找到了不同的方法吗 我从未使用过Primefaces,但你可以试试
<ui:fragment rendered="#{person.isLocked}">
<!-- your div here -->
</ui fragment>
ahh非常好,除了我没有使用它之外,它还起作用