我试图用JSF中的统一表达式语言编写一个表达式,声明如果图像不为空,则使用它,否则使用默认值。
#{not empty image ? image : #{bean.directory}image.jpg}
问题是只能通过调用某个函数“#{bean.directory}
”来检索目录,才能访问默认值。我得到了ERROR PARSING
。
知道如何解决这个问题吗?
答案 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'}