java - 这个 el 表达式有什么问题?

标签 java el

<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/

相关文章:

java - 计算给定时间内按钮的点击次数

java - 由于 system.out.println 语句导致线程运行延迟

java - 如何在没有 printStackTrace 的情况下从异常中获取 stackTrace?

java - JSF2 : Using EL in navigation rules. 超时重定向?

java - JSP EL : dynamic creation of property name

jsf - com.sun.el 包包含什么?

java - Ant 构建文件的问题

jsf - 如何以编程方式设置 -Dorg.apache.el.parser.COERCE_TO_ZERO=false

jsp - 避免 JSTL c :set statement 中的空格

java - Jetty 11 不检测 Jakarta Servlets