我在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...意义?