gpt4 book ai didi

java - 通过 JSTL 在 JSP 页面上显示 ArrayList

转载 作者:行者123 更新时间:2023-12-01 05:48:10 25 4
gpt4 key购买 nike

有人可以帮我弄清楚我做错了什么吗?我有一个带有返回 ArrayList 方法的类,但无法让它显示在我的 JSP 页面上。这是我的代码:

//java class
public class Confirmation {
ArrayList<Criterion> criterion = null;
ArrayList<String> criterionTitles = null;
EvaluationDefinition eval = null;

public ArrayList<String> getCriterionTitles() {
criterion = new ArrayList<Criterion>();
criterionTitles = new ArrayList<String>();

for(int i = 0; i < eval.getGroups().get(0).getCriterionCount(); i++ )
{
criterion.add(eval.getGroups().get(0).getCriterion().get(i));
criterionTitles.add(i, criterion.get(i).getTitle());
}
return criterionTitles;
}
}
//jsp page code...
<jsp:useBean id="criterionTitles" scope="page" class="Confirmation" />
// ERROR MSG HERE: Error reading 'criterionTitles' on type Confirmation
<c:forEach var="title" items="${criterionTitles.criterionTitles}">
<c:out value="${title}" />
</c:forEach>

如果我在 servlet 中运行 for 循环逻辑,并且只是 out.println(criterion.get(i).getTitle() ,它会很好地打印出标题。只是当我运行 c:foreach 循环时,我得到了错误。谢谢。

最佳答案

Error reading 'criterionTitles' on type Confirmation

调用getCriterionTitles() 引发了异常。我押注于 NullPointerException,因为 evalnull。阅读服务器日志以获取完整的堆栈跟踪,跟踪代码中的根本原因并相应地修复它。

<小时/>

与具体问题无关,将类放入默认包中是一个坏主意。它只会在特定的 servletcontainer/JVM 配置上以这种方式工作,但不是全部。在包内的普通 Java 类中,不可能从默认包中导入类。一些 servlet 容器为此提供了内置的解决方法,以便“新手友好”。但你不应该依赖它。

关于java - 通过 JSTL 在 JSP 页面上显示 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5398130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com