动态El表达式在地图中的评估

时间:2013-03-11 21:59:32

标签: jsf map el oracle-adf jdeveloper

我有一个bean,它返回键值对(String,String)的映射。在我的jsff中,我需要根据键来访问地图的值,这是一个动态的El表达式

<af:iterator id="i1" value="#{bindings.leaderBoardEntities.collectionModel}"
var="entity" rows="#{bindings.leaderBoardEntities.rangeSize}">

    <af:image id="i2" source="#  {pageFlowScope.ImagesBean.imageUrlPair[entity.displayName]}"
    shortDesc="user info" inlineStyle="width:50px;height:50px;"/>
</af:iterator>

我无法评估地图的密钥。 我试过了,

source="#{pageFlowScope.ImagesBean.imageUrlPair[entity.displayName]}
source="#{pageFlowScope.ImagesBean.imageUrlPair['#{entity.displayName}']}
source="#{pageFlowScope.ImagesBean.imageUrlPair['${entity.displayName}']}
source="#{pageFlowScope.ImagesBean.imageUrlPair[#{entity.displayName}]}--this is     syntactically wrong

然而,这有效

source="#{pageFlowScope.ImagesBean.imageUrlPair['Twitter']}

请帮助我

3 个答案:

答案 0 :(得分:0)

你没有指定 JSF EL版本,所以这里有一个 JSF2 EL2.2片段,它将起作用:

source="#{pageFlowScope.ImagesBean.imageUrlPair.get(entity.displayName)}

答案 1 :(得分:0)

从你的问题中不清楚你是否在地图或列表上进行迭代,如果它是地图,那么请尝试下面的代码,如果它是一个列表,那么它对我来说很好。

  <af:image id="i2" source="#  {pageFlowScope.ImagesBean.imageUrlPair
[entity.value.displayName]}"
        shortDesc="user info" inlineStyle="width:50px;height:50px;"/>

答案 2 :(得分:0)

尝试source="#{pageFlowScope.ImagesBean.imageUrlPair[entity.dataProvider.displayName]}"