如何获得动态UI的值:param name [loss]

问题描述 投票:0回答:1

<ui:param name="param1" value="value 1" />
<ui:param name="param2" value="value 2" />
<ui:param name="param3" value="value 3" />

param1: #{param1}
<p></p>
param2: #{param2}
<p></p>
param3: #{param3}

<c:forEach begin="1" end="3" var="idx">
    <p></p>
    <h:outputText value="**how to dynamically set the param name here to get the correct value?**" />
</c:forEach>

I'AM在不同模板中初始化参数,并希望获得有关该参数的值。

jsf parameters facelets
1个回答
0
投票
不适合这一点。它没有存储在公共访问的范围中,也没有

<ui:param>

#{faceletScope}
(对于下一个面孔版本来说可能是个好主意)。
使用

<c:set>

。在此上,您可以明确指定所需的范围。

request
范围是您最好的选择,但是
view
范围也可以,具体取决于参数值的性质。然后,您可以分别通过
#{requestScope}
#{viewScope}
映射访问参数。
<c:set var="param1" value="value 1" scope="request" />
<c:set var="param2" value="value 2" scope="request" />
<c:set var="param3" value="value 3" scope="request" />

<p>param1: #{param1}</p>
<p>param2: #{param2}</p>
<p>param3: #{param3}</p>

<c:forEach begin="1" end="3" var="idx">
    <p>#{requestScope['param' += idx]}</p>
</c:forEach>

也请参见:

JSF2 facelets中的JSTL ...很有意义吗?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.