JSF EL 表达式比较字符串值
JSF EL expression compare string value
我正在尝试评估 returns 一个值(字符串)的 EL 表达式(方法表达式?),如果该值等于 "bar" 那么我想呈现标签。
<p:tab rendered="#{bean.getAnswer('foo').answer == "bar"}" />
但是我收到以下错误消息。
Invalid location of text ("}") in tag.
正确的语法是什么?
编辑:去掉双引号arround bar,也是这样一个String。您也可以使用 ==
来比较字符串。我更喜欢 eq
以提高可读性。
<p:tab rendered="#{bar eq bean.getAnswer('foo')}" />
<p:tab rendered="#{bar == bean.getAnswer('foo')}" />
您可以在这里找到所有运算符。 http://docs.oracle.com/javaee/6/tutorial/doc/bnaik.html
感谢@Jasper de Vries
我在这里看到的问题是使用“”作为值 bar,因为它与外部的“”冲突。
用单引号括起来,像这样 'bar'.
希望这对您有所帮助。
更新:
将 'eq' 与 String 结合使用可使其更具可读性。但是,== 也有效。
我正在尝试评估 returns 一个值(字符串)的 EL 表达式(方法表达式?),如果该值等于 "bar" 那么我想呈现标签。
<p:tab rendered="#{bean.getAnswer('foo').answer == "bar"}" />
但是我收到以下错误消息。
Invalid location of text ("}") in tag.
正确的语法是什么?
编辑:去掉双引号arround bar,也是这样一个String。您也可以使用 ==
来比较字符串。我更喜欢 eq
以提高可读性。
<p:tab rendered="#{bar eq bean.getAnswer('foo')}" />
<p:tab rendered="#{bar == bean.getAnswer('foo')}" />
您可以在这里找到所有运算符。 http://docs.oracle.com/javaee/6/tutorial/doc/bnaik.html
感谢@Jasper de Vries
我在这里看到的问题是使用“”作为值 bar,因为它与外部的“”冲突。
用单引号括起来,像这样 'bar'.
希望这对您有所帮助。
更新:
将 'eq' 与 String 结合使用可使其更具可读性。但是,== 也有效。