2011-01-24 32 views
19

Tôi đang sử dụng thẻ h: outputText để hiển thị dữ liệu chỉ đọc. Ví dụ:JSF: h: outputText; làm thế nào để hiển thị một dấu gạch ngang khi giá trị là chuỗi rỗng?

<h:outputText value="Phone Number:" /> 
<h:outputText value="#{userHandler.user.phoneNumber}" /> 

Khi "phoneNumber" là chuỗi trống hoặc giá trị rỗng, tôi muốn hiển thị dấu gạch ngang "-" làm giá trị.

Có cách nào dễ dàng để làm điều này có thể với ngôn ngữ biểu hiện hay gì đó không?

BTW, tôi nghĩ về việc thêm các phương thức vào lớp người dùng như getPhoneNumberDisplayText() có thể kiểm tra nội bộ, nhưng tôi vì nó là vấn đề về xem, tôi muốn giữ mã trong trang JSF.

Trả lời

40
<h:outputText value="#{userHandler.user.phoneNumber != null 
    ? userHandler.user.phoneNumber : '-'}" /> 

Hoặc, bạn có thể làm một mới outputText:

<h:outputText rendered="#{userHandler.user.phoneNumber == null}" value="-" /> 
+46

Chỉ cần sử dụng 'empty'. Bao gồm cả 'null' và chuỗi rỗng. '# {empty foo.property? '-': foo.property} 'hoặc cách khác,' # {không trống rỗng foo.property? foo.property: '-'} '. – BalusC

+0

@BalusC điều này không làm việc cho phương pháp 'set'' Cú pháp bất hợp pháp cho hoạt động thiết lập'. có giải pháp cho điều đó không? – Darshana

Các vấn đề liên quan