20

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

有人告诉我如何在 JSF EL 中完成这个吗?

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

编辑:

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

我在 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')"/>代码行的解决方案。

谢谢

4

1 回答 1

52

您可以使用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……有意义吗?

于 2012-11-29T06:40:56.590 回答