Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 Primefaces条件逻辑在<;p:dataGrid>;_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 Primefaces条件逻辑在<;p:dataGrid>;

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=

我有一个数据表,每列有两个图像,一个显示,另一个隐藏图像不显示。如果属性#{person.isLocked}结果集设置为“T”,则可以将隐藏图像显示在另一个图像的顶部。我的代码有一个div,其中有两个div,一个用于主图像,另一个用于将要覆盖的图像。(下面的代码)要覆盖的图像具有样式属性display:none。我需要以某种方式检查#{person.isLocked}是否等于'T',如果是,那么我需要将css更改为display:block;否则就别管它了

<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非常好,除了我没有使用它之外,它还起作用