我在primefaces的数据表中显示了一些值。
这是代码。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Custom Rendering Data Table Test</title>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="center">
<p:dataTable var="car" value="#{tableBean.mediumCarsModel}" selection="#{tableBean.selectedCar}"
id="carList" paginator="true" rows="10" editable="true">
<f:facet name="header">
In-Cell Editing
</f:facet>
<p:column selectionMode="multiple" style="width:18px" />
<p:column headerText="User Name" style="width:100px">
<p:graphicImage value="C:\raman\AMAP\POC\primefaces\JSF2.0HelloWorld\WebContent\images\rssLogo.gif"/>
<p:graphicImage value="C:\raman\AMAP\POC\primefaces\JSF2.0HelloWorld\WebContent\images\System.gif"/>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{car.username}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{car.username}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Model" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{car.model}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{car.model}" style="width:100%"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Year" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{car.year}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{car.year}" style="width:100%" label="Year"/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Manufacturer" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{car.manufacturer}" />
</f:facet>
<f:facet name="input">
<h:selectOneMenu value="#{car.manufacturer}" >
<f:selectItems value="#{tableBean.manufacturers}"
var="man"
itemLabel="#{man}"
itemValue="#{man}" />
</h:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Color" style="width:125px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{car.color}" />
</f:facet>
<f:facet name="input">
<h:selectOneMenu value="#{car.color}" >
<f:selectItems value="#{tableBean.colors}"
var="color"
itemLabel="#{color}"
itemValue="#{color}" />
</h:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Options" style="width:100px">
<p:rowEditor />
</p:column>
</p:dataTable>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
现在,我必须阅读年份的价值,如果年份将小于1990年,那么我必须显示rsslogo图像,如果没有,则显示系统图像。
请让我知道如何在素数表面做这件事...我是初学者,仍处于学习阶段....
答案 0 :(得分:3)
使用条件渲染:
<p:graphicImage value="path/to/your/image1" rendered="#{car.year lt 1990}/>
<p:graphicImage value="path/to/your/image2" rendered="#{car.year ge 1990}/>
使用正确的路径替换value
属性的内容(您不应使用问题中显示的绝对路径!!)。
关键字lt
表示“小于”,ge
表示“大于或等于”。