<ui:repeat value="#{admin.detailTypesList}" var="detailType">
<h:outputText value="#{admin.getDetailTypeTranslation('ContactDetailType_'+detailType)}"/>
</ui:repeat>
对于 el 表达式:
#{admin.getDetailTypeTranslation('ContactDetailType_'+detailType)}
传递给 getDetailTypeTranslation
的参数是 'ContactDetailType_'
(没有 detailType
值)
我做错了什么?
最佳答案
在 EL 中,+
完全是求和运算符。您可以使用 <ui:param>
创建一个新变量,该变量存在与 EL 表达式连接的字符串,然后改用新变量。
<ui:repeat value="#{admin.detailTypesList}" var="detailType">
<ui:param name="contactDetailType" value="ContactDetailType_#{detailType}" />
<h:outputText value="#{admin.getDetailTypeTranslation(contactDetailType)}"/>
</ui:repeat>
请注意,此问题与 JSF 无关,但通常与 EL 相关。
关于java - 这个 el 表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188383/