Facelets:ui:param默认值

Seb*_*ann 8 jsf facelets

如何定义facelet模板参数的默认值?使用模板参数考虑以下元素:

<h:outputText value="#{templParam}"></h:outputText>
Run Code Online (Sandbox Code Playgroud)

上面的行将打印模板参数templParam ,该参数由使用模板的ui:param标签传递ui:composition:

<ui:param name="templParam" value="Hello world"></ui:param>
Run Code Online (Sandbox Code Playgroud)

但如果ui:param缺少标签,则不会打印任何内容.虽然,在这种情况下如何打印例如"默认值"?

rbe*_*nto 14

可以用这个:

<h:outputText value="#{empty templParam ? 'Default value' : templParam}" />
Run Code Online (Sandbox Code Playgroud)

我希望它有所帮助.


Seb*_*ann 9

可以使用检查空值的三元运算符来定义默认值.

<h:outputText value="#{templParam != null ? templParam : 'Default value'}"></h:outputText>
Run Code Online (Sandbox Code Playgroud)

如果参数未通过ui:param标签传递,则会打印"默认值" .