2012-11-29 32 views
15

Tôi đang sử dụng <s:set var="buttonText" value="getText('person.button.add')"/> trong JSTL để sử dụng biến buttonText để đặt văn bản.Khai báo và sử dụng biến trong trang JSF2 xhtml

Có người cho tôi biết cách thực hiện điều này trong JSF EL?

Câu hỏi được yêu cầu tại đây IF-ELSE condition in JSF form. Need to know right approach nhưng được yêu cầu đặt câu hỏi riêng.

EDITED:

tôi đã thêm một liên kết ở trên để xem chi tiết nhưng đây là một lần nữa.

Tôi đang sử dụng JSTL như trong dự án struts2

<s:if test="person==null || person.id==null || person.id==''"> 
       <s:set var="buttonText" value="getText('person.button.add')"/> 
      </s:if> 
      <s:else> 
       <s:set var="buttonText" value="getText('person.button.edit')"/> 
      </s:else> 

Tôi muốn sử dụng phương pháp tương tự trong JSF2 nhưng với Expression Language. Tôi đang tiết kiệm giá trị trong một biến được gọi là buttonText và truy cập vào nó dưới một nơi nào đó như #{buttonText}. Tôi cần giải pháp để làm thế nào để viết biến trong EL và sử dụng nó. Hy vọng rõ ràng của nó.

Tôi cần giải pháp cho <s:set var="buttonText" value="getText('person.button.add')"/> dòng mã.

Cảm ơn

+0

lòng rõ ràng về câu hỏi của bạn? Bạn thật sự muốn biết điều gì? – Freak

+0

@learner, Đã thêm thông tin – Pirzada

Trả lời

38

Bạn có thể sử dụng ui:param

Trong các cách sau:

<ui:param name="buttonText" value="#{myBean.MyValue}" /> 

hoặc

<ui:param name="buttonText" value="someText" /> 

hoặc

<ui:param name="buttonText" value="someText#{myBean.MyValue}" /> 

và sử dụng sau này như thế này

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

tùy chọn khác sẽ được sử dụng <c:set theo cách sau

<c:set var="buttonText" value="#{myBean.MyValue}" /> 

Nhưng lưu ý rằng <c:set là một thẻ JSTL,

Thẻ JSTL chạy trong khi tạo chế độ xem (khi XHTML tập tin được chuyển đổi sang JSF cây thành phần)

Ngoài ra bạn có thể muốn đọc JSTL in JSF2 Facelets… makes sense?

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