在JSF2 xhtml页面中声明并使用变量

时间:2012-11-29 03:34:11

标签: jsf-2

我在JSTL中使用<s:set var="buttonText" value="getText('person.button.add')"/>来使用buttonText变量来设置文本。

有人告诉我如何在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')"/>代码行。

由于

1 个答案:

答案 0 :(得分:45)

您可以使用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

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

但请注意<c:set是JSTL标记,

  

JSTL标记在构建视图期间运行(当XHTML文件转换为时)   JSF组件树)

您也可以阅读此JSTL in JSF2 Facelets… makes sense?