【问题标题】:Concatenation inside a JSF expression [duplicate]JSF表达式内的连接[重复]
【发布时间】:2019-06-11 12:21:42
【问题描述】:

我正在尝试在我的 JSF 表达式中连接一个数字:

<h:dataTable class="seminaire" value = "#{seminaireControl.getList()}" var = "seminaire">

    <c:forEach begin="1" end="#{extraControl.getNb()}" var="nb">
        <h:column>
            <f:facet name="header">seminaire #{nb}</f:facet>
            <h:inputText value="#{seminaire.value+#{nb}"/>
        </h:column>
    </c:forEach>

</h:dataTable>

我想要的是 #{seminaire.value1}, #{seminaire.value2}, ...

【问题讨论】:

  • 我认为“#{seminaire.value}#{nb}”应该可以。
  • @Vebbie 很遗憾没有,Seminaire 类没有“价值”属性。我的班级只有属性 value1, value2...
  • 哦。然后你可以把它写成#{seminaire.['value'.concat(nb)]}
  • @Vebbie 去掉第一个 '.',就这样了。
  • 我试过${seminaire.value[nb]}#{seminaire.['value'.concat(nb)]}#{seminaire.[value.concat(nb)]}#{seminaire.value[nb]},但还是不行:$

标签: jsf el


【解决方案1】:

总结以上内容,帮助其他用户正确使用EL语法。 (+ 运算符在 EL 中专门用作求和运算符。)

<h:dataTable class="seminaire" value = "#{seminaireControl.getList()}" var = "seminaire">

<c:forEach begin="1" end="#{extraControl.getNb()}" var="nb">
    <h:column>
        <f:facet name="header">seminaire #{nb}</f:facet>
        <h:inputText value="#{seminaire['value'.concat(nb)]}"/>
    </h:column>
</c:forEach>

【讨论】:

    猜你喜欢
    • 2013-06-10
    • 2016-03-04
    • 2013-03-30
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    相关资源
    最近更新 更多