2012-07-13 35 views
7

Làm cách nào để xác định giá trị mặc định cho tham số mẫu facelet? Hãy xem xét các yếu tố sau đây sử dụng một mẫu tham số:Facelets: ui: param giá trị mặc định

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

Dòng trên sẽ in các mẫu tham số templParam định được thông qua bởi một thẻ ui:param trong một ui:composition bằng cách sử dụng mẫu:

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

Nhưng nếu Thẻ ui:param thiếu nội dung sẽ không được in. Mặc dù, cách in một ví dụ như "Giá trị mặc định" trong trường hợp này?

Trả lời

8

Giá trị mặc định có thể được xác định bằng cách sử dụng kiểm tra ternary operator cho giá trị rỗng.

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

Điều này sẽ in "Giá trị mặc định" nếu thông số không được chuyển bởi thẻ ui:param.

13

thể sử dụng này:

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

Tôi hy vọng nó giúp.

0

Sau thẻ thành phần để xác định bắt đầu mẫu, tham số mẫu có thể được đặt thành giá trị mặc định (nếu nó trống) để tất cả các lần sử dụng sau không yêu cầu kiểm tra giá trị rỗng mỗi lần (và giá trị mặc định của nó ở một nơi trong mã).

<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}" /> 
Các vấn đề liên quan