0

我有一个 bean,它返回键值对 (String,String) 的映射。在我的 jsff 中,我需要根据 key 访问地图的值,这是一个动态 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']}

请帮助我

4

3 回答 3

0

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

于 2013-03-19T13:08:27.723 回答
0

您的问题不清楚您是否遍历地图或列表,如果是地图,请尝试以下代码,如果是列表,那么它对我来说看起来不错。

  <af:image id="i2" source="#  {pageFlowScope.ImagesBean.imageUrlPair
[entity.value.displayName]}"
        shortDesc="user info" inlineStyle="width:50px;height:50px;"/>
于 2013-03-11T23:42:30.913 回答
0

您没有指定JSF EL 版本,所以这里有一个可以工作的JSF2 EL2.2 片段:

source="#{pageFlowScope.ImagesBean.imageUrlPair.get(entity.displayName)}
于 2013-03-11T22:29:37.627 回答