栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JSTL c:forEach导致@ViewScoped bean在每个请求上调用@PostConstruct

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSTL c:forEach导致@ViewScoped bean在每个请求上调用@PostConstruct

这确实是JSF2中的错误。这是鸡肉问题。视图范围的Bean以JSF视图状态存储。因此,只有在恢复视图阶段之后,视图范围的Bean才可用。但是,JSTL标记在还原视图阶段运行,而视图范围的bean尚不可用。这将导致创建一个全新的视图范围bean实例,然后将其替换为存储在还原的JSF视图状态中的实际视图范围bean。

据报道,这是JSF问题1665和JSF规范问题787,该问题已针对JSF
2.2修复并移植回Mojarra 2.1.18。因此,只需升级到最低的Mojarra 2.1.18即可。

如果您不能升级,那么最好的选择是在请求/会话/应用程序范围的bean上专门使用JSTL标记,或者寻找满足特定功能要求的替代方法。您可以替换

<c:forEach>
<ui:repeat>
的你已经发现了。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573842.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号