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



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

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

这里以 JSF 形式提出的 IF-ELSE 条件的问题。需要知道正确的方法,但被告知要作为一个单独的问题来问。

编辑:

我已经在上面添加了链接以获取详细信息,但又在这里。

我正在使用 JSTL,就像在 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>

我想在 JSF2 中使用相同的方法,但使用表达式语言。我正在将值保存在一个名为 buttonText 的变量中,并在下面访问它,例如 #{buttonText}.我需要有关如何在EL中编写变量并使用它的解决方案。希望它清楚。

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

谢谢

您可以使用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 组件树)

另外,您可能想在JSF2 Facelets中阅读此JSTL...意义?

最新更新