我有一个bean,它返回键值对(String,String)的映射。在我的jsff中,我需要基于key访问映射的值,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']}
请帮帮我
如果你迭代映射或列表,那么从你的问题中不清楚,如果它是一个映射,那么尝试下面的代码,如果它是一个列表,那么它对我来说看起来不错。
<af:image id="i2" source="# {pageFlowScope.ImagesBean.imageUrlPair
[entity.value.displayName]}"
shortDesc="user info" inlineStyle="width:50px;height:50px;"/>
您没有指定JSF EL版本,所以这里有一个可以工作的JSF2 EL2.2代码片段:
source="#{pageFlowScope.ImagesBean.imageUrlPair.get(entity.displayName)}
尝试source="#{pageFlowScope.ImagesBean.imageUrlPair[entity.dataProvider.displayName]}"