2012-07-13 130 views
7

如何定義Facelet模板參數的默認值? 使用模板參數考慮以下元件:Facelets:ui:param默認值

<h:outputText value="#{templParam}"></h:outputText> 

上面一行將打印其由ui:param標籤在ui:composition使用模板通過模板參數templParam

<ui:param name="templParam" value="Hello world"></ui:param> 

但是,如果ui:param標記丟失什麼都不會被打印。雖然在這種情況下,如何打印例如「默認值」?

回答

8

可以使用ternary operator檢查空值來定義默認值。

<h:outputText value="#{templParam != null ? templParam : 'Default value'}"></h:outputText> 

如果ui:param標記沒有傳遞參數,將打印「默認值」。

13

可以使用此:

<h:outputText value="#{empty templParam ? 'Default value' : templParam}" /> 

我希望它能幫助。

0

在用於定義模板開始的組合標籤之後,可以將模板參數設置爲其默認值(如果它是空的),以便它的所有後續使用不需要每次都檢查空值(並且其默認值位於代碼中的一個位置)。

<html xmlns:c="http://java.sun.com/jsp/jstl/core" > 

<ui:composition> 
    <c:set var="templParam" value="#{empty templParam ? 'Default value' : templParam}" 
      scope="request" /> 
    <h:outputText value="Use 1: #{templParam}" /> 
    <h:outputText value="Use 2: #{templParam}" />