2012-11-29 41 views
15

我在JSTL中使用<s:set var="buttonText" value="getText('person.button.add')"/>來使用buttonText變量來設置文本。在JSF2中聲明和使用變量xhtml頁面

有人告訴我如何在JSF EL中完成此操作嗎?

問題在這裏詢問IF-ELSE condition in JSF form. Need to know right approach但被告知要求作爲一個單獨的問題。

編輯:

我已經添加了上面查看詳細的鏈接,但這裏是試。

我在Struts2項目中使用JSTL像

<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> 

我想在JSF2但表達式語言使用相同的方法。我將這個值存儲在一個名爲buttonText的變量中,並在#{buttonText}之下的某處訪問它。我需要解決如何在EL中編寫變量並使用它。希望它清楚。

我只需要解決方案<s:set var="buttonText" value="getText('person.button.add')"/>代碼行。

感謝

+0

請清楚你的問題?你真的想知道什麼? – Freak

+0

@learner,增加了更多信息 – Pirzada

回答

38

您可以使用ui:param

在以下幾個方面:

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

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

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

,並在之後使用這樣

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

另一種辦法是通過以下方式

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

使用<c:set但是請注意,<c:set是JSTL標籤,

JSTL標籤在構建視圖時運行(當XHTML文件轉換爲 JSF組件樹)

而且你可能想讀這JSTL in JSF2 Facelets… makes sense?