繁体   English   中英

通过JSTL在JSP页面上显示ArrayList

[英]Displaying an ArrayList on a JSP Page via JSTL

有人可以帮我弄清楚我在做什么错吗? 我有一个带有返回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循环时出现错误。您。

在类型确认上读取“ criterionTitles”时出错

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


与具体问题无关,将类放在默认包中是一个坏主意。 它将仅在特定的servlet容器/ JVM配置上以这种方式工作,而不是全部。 在包中的普通Java类中,不可能从默认包中import类。 一些servlet容器为此内置了变通方法,以使其“对新手友好”。 但是您不应该依赖于此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM