gpt4 book ai didi

java - 迭代 within

转载 作者:行者123 更新时间:2023-11-30 07:33:49 25 4
gpt4 key购买 nike

我有一个 @ViewScoped带有 List<String> 的 bean 包含纯 HTML。我想遍历这个列表并输出纯 html:

<c:forEach items="#{bean.list}" var="html">
<f:verbatim>#{html}</f:verbatim>
</c:forEach>

上面的代码片段运行良好,但是当页面刷新时,bean costrunctor 被调用。此问题/错误已知:JSTL c:forEach causes @ViewScoped bean to invoke @PostConstruct on every request

所以建议是替换<c:forEach><ui:repeat> .

<ui:repeat value="#{bean.list}" var="html">
<f:verbatim>#{html}</f:verbatim>
</ui:repeat>

但这行不通。我有一个空白页。我试过 <h:dataTable> , <a4j:repeat><rich:dataTable>但无事可做。

有什么解决办法吗?

最佳答案

使用 <h:outputText escape="false">相反。

<ui:repeat value="#{bean.list}" var="html">
<h:outputText value="#{html}" escape="false" />
</ui:repeat>

<f:verbatim>是一个旧的面向 JSP 的标记,旨在能够在 JSF 1.0/1.1 中的 JSF 组件中嵌入纯 HTML。如果没有它,所有纯 HTML 将在 JSF 组件树之前呈现。这种不直观的行为在 JSF 1.2 中得到了修复,这使得该标记变得多余。在 Facelets 中,它也是多余的,在 Facelets 2.0(对于 JSF 2.0)中,它甚至被弃用。另请参阅 tag documentation 的介绍性文本.不要使用它。如果您想呈现未转义的 HTML,请使用 <h:outputText escape="false">如上例所示。如果您想有条件地呈现内联 HTML 片段,请使用 <h:panelGroup><ui:fragment>相反。

关于java - 迭代 <f :verbatim> within <ui:repeat>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5613117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com