jsf - EL:无法访问属性方法
问题描述
我的数据库中有一个名为“头像”的 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 进行检查。谢谢。
编辑:rendered="#{not empty loginView.user.avatar}" 不起作用,这就是为什么我不得不转向另一个选项。
解决方案
尝试使用 JSTL。标签库命名空间:
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
用法:
<o:graphicImage id="avatar"
value="#{loginView.user.avatar}"
dataURI="true"
rendered="#{fn:length(loginView.user.avatar) > 0}"/>
推荐阅读
- string - Bash 拆分带有路径的字符串
- speech-recognition - CMU Sphinx 的慢速语音识别
- swift - 使用异步搜索结果重新加载表
- sql - Does the SQL CASE statement treat variables differently from columns?
- python - 为什么我不能在我的 Matplotlib/Cartopy 地图上添加图像?
- vba - 循环数据以填充表单并导出到单个 PDF
- ruby-on-rails - has_many :通过不加载记录
- angular - 在 ng 中使用功能模块的推荐做法是什么?
- javascript - 决定应用程序的 Javascript 发布/订阅模式
- python - 没有名为 flask_bcrypt 的模块