java - 你可以使 id 动态 - <div id=[此处动态字段]

标签 java jsp jstl jsp-tags

我试图在 JSP 上循环遍历 Arraylist,但没有成功。

我能够成功地循环执行此操作,但仅在尝试动态更改“时遇到此错误”

我通过打开和关闭标签尝试了所有不同的方法,尝试不同的封闭字符,即:单引号和双引号。

我收到的错误如下:

javax.el.MethodNotFoundException: Method not found: class java.util.ArrayList.getChartName()
    at javax.el.Util.findWrapper(Util.java:351)
    at javax.el.Util.findMethod(Util.java:214)
    at javax.el.BeanELResolver.invoke(BeanELResolver.java:174)

这就是我的 JSP 的样子:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@include file="header.jsp" %>
    <div id="content_main">
        <c:if test="${not empty dashboardDetail}"></c:if>
        <c:forEach var="dashboardDetailList" items="${dashboardDetail}">
            <div id="${dashboardDetail.getChartName()}" style="width: 100%; height: 400px;">    </div>
        </c:forEach>
    </div>
<%@include file="footer.jsp" %>

最佳答案

从您使用的名称来看,您的理解是错误的。

<c:forEach var="dashboardDetailList" items="${dashboardDetail}">

items 应该是列表,var 应该是当前元素。但您已在循环内正确引用了 dashboardDetail 。切换名称(对于列表的每个引用):

<c:forEach var="dashboardDetail" items="${dashboardDetailList}">

出现该错误是因为您现在正在对 ArrayList 调用 getChartName(),而该方法不存在。

关于java - 你可以使 id 动态 - <div id=[此处动态字段],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27943768/

相关文章:

java - 即使安装了 JDK 8,Android Studio 也不会安装

java - 如何将 JComponent 附加到一个给定组件的边框(外部)

java - 从模型声明并初始化 JSP 中的对象

reactjs - spring boot jsp页面中如何导入react组件

java - 如何防止 quartz 中的内存泄漏

java - 如何使用 c :out 不转义 JSTL 中的字符

jsp - JSTL标记中 'scope'属性的默认值是什么?

java - 从 C# 导出适用于 Java 的 X509EncodedKeySpec 的 RSA 公钥

java - 如何将多种类型的用户重定向到各自的 Activity?

java - JSTL:检查是否单击了“提交”