【问题标题】:nesting varstatus into var as index for method in jstl foreach将 varstatus 嵌套到 var 作为 jstl foreach 中方法的索引
【发布时间】:2015-09-26 23:33:01
【问题描述】:

有没有办法在jsp页面的jstl foreach循环中使用varstatus作为var方法的索引(整数参数)?

我想要这样的东西:

<c:forEach items="${pizza1.getFeltetlist()}" var="aktpizza" varStatus="index" >

        <tr>
            <td>${index.index+1}</td>
            <td>${aktpizza.nev}</td>
            <td>${aktpizza.ar}</td>
            <td><a href="/PizzaOrderMVC/add/${aktpizza.getaFeltet(${index.index+1})}">Add</a></td>
        </tr>

    </c:forEach>

所以 getaFeltet(int i) 方法需要一个 int 参数,我想传递 varstatus 的实际索引。上述所有其他字段均已正确填充。实现此目的的正确语法应该是什么?

【问题讨论】:

    标签: foreach jstl var taglib


    【解决方案1】:

    您不能也不需要将${...} 相互嵌套。就一个吧。

    <a href="/PizzaOrderMVC/add/${aktpizza.getaFeltet(index.index+1)}">Add</a>
    

    【讨论】:

    • 我已经试过了。在这种情况下,它会抛出错误:“javax.el.MethodNotFoundException:找不到方法:类 Pizzaorder.Feltet.getaFeltet(java.lang.Integer)” 在这种情况下,问题是我想使用 jstl 变量作为参数其他jstl变量
    【解决方案2】:

    这可能对你的具体情况没有帮助,但我发现如果你试图在 jsp 中获取一个值,这将不起作用:

    ${List.get(varStatus.index)}

    但这会

    ${List[varStatus.index]}

    换句话说,您不能将状态索引传递给函数调用,但可以使用它来获取列表中该索引处的项目。

    如果您可以将 aktpizza.getaFeltet() 的结果作为列表传递,您应该可以使用此技术。

    【讨论】:

      猜你喜欢
      • 2011-09-29
      • 2015-01-02
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2014-04-18
      • 1970-01-01
      相关资源
      最近更新 更多