JSF EL表达式比较字符串值

时间:2016-12-16 15:15:15

标签: jsf expression el

我正在尝试评估EL表达式(方法表达式?),如果该值等于" bar"则返回值(String)。然后我想渲染标签。

<p:tab rendered="#{bean.getAnswer('foo').answer == "bar"}" />

但是我收到以下错误消息。

Invalid location of text ("}") in tag.

使用什么语法是正确的?

2 个答案:

答案 0 :(得分:3)

编辑:删除双引号arround bar,它也是一个字符串。您也可以使用==来比较字符串。我更倾向于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

THX @Jasper de Vries

答案 1 :(得分:0)

我在这里看到的问题是使用“”作为值 bar ,因为它与外部“”相冲突。

将其包装在单引号内,例如 'bar'

希望这有帮助。

<强>更新

在String中使用'eq'使其更具可读性。但是,==也可以。