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

将JSF标签与JSTL标签混合会产生奇怪的结果

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

将JSF标签与JSTL标签混合会产生奇怪的结果

JSF和JSTL不会像您期望的那样同步运行。JSTL在视图的构建期间(要填充JSF组件树)运行,而JSF在视图的组件树的呈现期间(要生成HTML输出)运行。您可以将其可视化如下:JSTL首先从上到下运行,然后将结果交给JSF,后者又从上到下运行。

在您的特定情况下,该对象

instance
永远不会出现在JSTL中。

代替

c:forEach
,应该使用
ui:repeat
,而不是
c:if
使用JSF组件的
rendered
属性。我想重写代码,但是的用法
hideTypes
很乱。而是将其转换
List<String>
为模型中的,使用纯JSF会更加容易。这是一个假设
hideTypes
为的启动示例
List<String>

<h:panelGroup rendered="#{not empty hideTypes}">    <ui:repeat value="#{document.instanceList}" var="instance">        <a:outputPanel rendered="#{!hideTypes.contains(instance.documentInstanceType.mimeType)}"> <up:mimeTypeIcon type="#{instance.documentInstanceType.mimeType}"     icon="#{instance.documentInstanceType.iconPath}"     key="#{instance.instanceKey}" referenced="false"/>        </a:outputPanel>     </ui:repeat><h:panelGroup>


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

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

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