2010-02-08 25 views
13

Tôi có một chuỗi có thể là có hoặc không, được khởi tạo trong một đối tượng trong một bean sao lưu Java. Tôi dường như không thể tìm cách tốt nhất để điều kiện phong cách văn bản màu đỏ hoặc màu xanh lá cây phụ thuộc vào việc JSF có được hay không từ bean tương ứng. Tôi đang sử dụng richfaces, nhưng tôi có nên sử dụng thẻ <c:if> không?JSF/RichFaces: kiểu dáng văn bản có điều kiện

Trả lời

23

(theo thứ tự ưu tiên):

  • style="color: #{yourVar == 'yes' ? 'green' : 'red'};"
  • làm cho hai <h:outputText> linh kiện với phong cách khác nhau, đều có một rendered thuộc tính khác nhau (một #{yourVar == 'yes'}#{yourVar == 'no'} khác)
  • định nghĩa một (JSTL/facelets/jsf 2.0) chức năng lấy biến số làm đối số và trả về kiểu/lớp - styleClass="#{my:getStyleClass(yourVar)}"
+2

IMHO, tốt hơn là một phương thức trả về tên lớp hoặc chuỗi trống sao cho: Luke

+5

@Luke, IMHO chỉ lộn xộn hơn trong đậu. Nó không cần phải biết bất cứ điều gì về các công cụ xem cụ thể. Một điều kiện ternary EL trong 'style' hoặc' styleClass' (tùy chọn 1 của Bozho) có ý nghĩa hoàn hảo ở đây. – BalusC

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