Jsf 由ui:param或ui:repeat内部的c:set设置的变量在ui:repeat外部不可用
我想定义一个变量并在页面上的其他地方重用它。我使用Jsf 由ui:param或ui:repeat内部的c:set设置的变量在ui:repeat外部不可用,jsf,set,variable-assignment,uirepeat,Jsf,Set,Variable Assignment,Uirepeat,我想定义一个变量并在页面上的其他地方重用它。我使用和在JSF中定义变量,并根据以下条件在中重置它: <ui:param name="title" value="default value"/> <c:set var="title2" value="default val"/> <ui:repeat value="#{aClip.revisions}" var="revs" varStatus="revS
和
在JSF中定义变量,并根据以下条件在
中重置它:
<ui:param name="title" value="default value"/>
<c:set var="title2" value="default val"/>
<ui:repeat value="#{aClip.revisions}" var="revs" varStatus="revStat">
<ui:repeat value="#{revs.metadataMap.entry}" var="entryLst">
<ui:repeat value="#{entryLst}" var="entry">
<ui:repeat value="#{entry.value}" var="metaVal">
<ui:repeat value="#{metaVal.values}" var="aValue">
<ui:fragment rendered="#{metaVal.key eq 'Title'}">
rendered //this prints. condition is evaluted to true
<ui:param name="title" value="#{aValue}"/>
<c:set var="title2" value="#{aValue}"/>
title2 -- #{title2} title -- #{title} //prints
</ui:fragment>
</ui:repeat>
</ui:repeat>
</ui:repeat>
</ui:repeat>
</ui:repeat>
title2 -- #{title2} title -- #{title} //does not print value not even defualt val
这张照片。条件被评估为真
标题2--{title2}标题--{title}//打印
title2--#{title2}title--#{title}//不打印值,甚至不取消val
我知道条件为真,值已设置,但当我尝试在循环外使用它时,它不会求值。它甚至不会在定义变量时取消给定给变量的值
这是如何造成的,我如何解决