gpt4 book ai didi

jsf - 小面 ui :fragment ignores rendered attribute

转载 作者:行者123 更新时间:2023-12-01 11:03:20 25 4
gpt4 key购买 nike

我对这段代码有一个非常奇怪的行为:

<ui:fragment rendered="#{price.guestIdTrue}">
<b>PRICE_GUEST_ID_TRUE : #{price.guestIdTrue}</b>
<h:outputText>#{Global.guestTypeMap[price.guestId]}&#160;#{price.guestIndex}</h:outputText>
</ui:fragment>

即使渲染条件为假,

PRICE_GUEST_ID_TRUE : 假 1

1 是#{price.guestIndex}

ui 命名空间已正确定义,并且适用于其他 facelets。

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:t="http://myfaces.apache.org/tomahawk">

对发生的事情的任何想法。

提前致谢。

最佳答案

您似乎在使用 <ui:fragment>在迭代标签/组件中,其中 #{price}实际上是当前迭代的变量,比如JSTL中的<c:forEach>标记,或 JSF <h:dataTable><ui:repeat>使用早期版本的 Mojarra 时的组件。在这些情况下,#{price}在评估时在 EL 范围内可用。

您需要 <h:panelGroup rendered>或者将 Mojarra 版本升级到最新版本。

关于jsf - 小面 ui :fragment ignores rendered attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703762/

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