如何有条件地更改输出文本
How to change output text conditionally
我有一个供应商 table,列为 gst_invoice_type
。 table 有两行,值为 F 和 S。
在我的 PrimeFaces 数据表中,我还创建了一个 table 列 Gst_Invoice_Type
和下拉菜单过滤器,如下代码
<p:column filterBy="#{vo.gstInvoiceType}" headerText="GST Invoice Type." sortBy="#{vo.gstInvoiceType}"
style="width:130px;" visible="false">
<f:facet name="filter">
<p:selectOneMenu style="width:110px; vertical-align:middle;" autoWidth="false"
onchange="PF('varTable').filter()">
<f:selectItem itemLabel="ALL" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="Full Tax Invoice" itemValue="F" />
<f:selectItem itemLabel="Simplified Invoice" itemValue="S" />
</p:selectOneMenu>
</f:facet>
<h:outputText value="#{vo.gstInvoiceType}"/>
</p:column>
当select All 时,所有数据(F 和S)都将被检索并位于Gst_Invoice_Type,工作正常。但是是否可以让F和S显示为Full Tax Invoice和Simplified Invoice?
只需 插入两个具有不同值的条件渲染 <h:outputText />
元素。
<p:column>
<h:outputText
value="Full Tax Invoice"
rendered="#{vo.gstInvoiceType eq 'F'}"
/>
<h:outputText
value="Simplified Invoice"
rendered="#{vo.gstInvoiceType eq 'S'}"
/>
</p:column>
另一种选择 是在 bean 方法中以编程方式进行映射,例如:
<p:column>
<h:outputText value="#{bean.map(vo.gstInvoiceType)}" />
</p:column>
与
public class Bean {
public String map(String input) {
// however you implement your mapping
}
}
我有一个供应商 table,列为 gst_invoice_type
。 table 有两行,值为 F 和 S。
在我的 PrimeFaces 数据表中,我还创建了一个 table 列 Gst_Invoice_Type
和下拉菜单过滤器,如下代码
<p:column filterBy="#{vo.gstInvoiceType}" headerText="GST Invoice Type." sortBy="#{vo.gstInvoiceType}"
style="width:130px;" visible="false">
<f:facet name="filter">
<p:selectOneMenu style="width:110px; vertical-align:middle;" autoWidth="false"
onchange="PF('varTable').filter()">
<f:selectItem itemLabel="ALL" itemValue="" noSelectionOption="true" />
<f:selectItem itemLabel="Full Tax Invoice" itemValue="F" />
<f:selectItem itemLabel="Simplified Invoice" itemValue="S" />
</p:selectOneMenu>
</f:facet>
<h:outputText value="#{vo.gstInvoiceType}"/>
</p:column>
当select All 时,所有数据(F 和S)都将被检索并位于Gst_Invoice_Type,工作正常。但是是否可以让F和S显示为Full Tax Invoice和Simplified Invoice?
只需 插入两个具有不同值的条件渲染 <h:outputText />
元素。
<p:column>
<h:outputText
value="Full Tax Invoice"
rendered="#{vo.gstInvoiceType eq 'F'}"
/>
<h:outputText
value="Simplified Invoice"
rendered="#{vo.gstInvoiceType eq 'S'}"
/>
</p:column>
另一种选择 是在 bean 方法中以编程方式进行映射,例如:
<p:column>
<h:outputText value="#{bean.map(vo.gstInvoiceType)}" />
</p:column>
与
public class Bean {
public String map(String input) {
// however you implement your mapping
}
}