【发布时间】:2019-05-07 07:30:55
【问题描述】:
我的数据库中有一个名为“avatar”的 BLOB 字段,用于存储用户的照片。该字段在我的 JPA 实体中表示为 byte[]。我只想在数组具有正长度时渲染“头像”元素,但我从 javax.servlet.FilterChain.doFilter() 得到下一个异常:
“异常:未找到方法长度”
这是代码:
<o:graphicImage id="avatar"
value="#{loginView.user.avatar}"
dataURI="true"
rendered="#{loginView.user.avatar.length()>0}"
/>
如果我检查支持 bean 的长度,将布尔值返回给 EL,它会工作并呈现图像,但我需要保持支持代码不变,这就是为什么我需要从我的 xhtml 进行检查。 谢谢。
edit:rendered="#{not empty loginView.user.avatar}" 不起作用,这就是我不得不转向另一个选项的原因。
【问题讨论】:
-
'loginView.user.avatar.length() gt 0'怎么样?
-
"rendered="#{not empty loginView.user.avatar}" is not working"到底是怎么回事?这是正确的做法。也许您错误地在
getAvatar()中抛出异常,而不是仅仅返回null? -
getAvatar() 方法只是从表中使用 Netbeans 向导创建的实体自动生成的方法......它只返回一个字节 [],非常简单......让我感到困惑的是正如您所建议的那样,它可以在另一个项目中工作,但是对于这个项目,我不得不放松限制并继续采用与 Krzysztof 提供的想法非常相似的想法。不过我看不出有什么区别。
标签: jsf primefaces omnifaces