另一个表达式中的JSF表达式

时间:2011-11-16 15:44:47

标签: jsf el

我试图用JSF中的统一表达式语言编写一个表达式,声明如果图像不为空,则使用它,否则使用默认值。

#{not empty image ? image : #{bean.directory}image.jpg}

问题是只能通过调用某个函数“#{bean.directory}”来检索目录,才能访问默认值。我得到了ERROR PARSING

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

我不知道在EL中连接字符串的简单方法,所以这篇文章有点笨拙但应该有效(我假设图像是某种带有完整文件名的变量,而'image.jpg'是你的默认文件名)在bean.directory中查找:

#{empty image ? bean.directory : image}#{empty image ? 'image.jpg' : ''}

答案 1 :(得分:1)

你的错误是,你嵌套了表达式。

<NEW_EL1>not empty image ? image : <NEW_EL2>bean.directory</END_EL2>image.jpg</END_EL2>

不支持此功能。

与您的表达相关:

#{empty image ? bean.directory : image}#{empty image ? 'image.jpg'}

另一个例子:

#{((fooBean.random % 4) == 0 ? 'completely divisible by 4' : 'not completely divisible by 4'}