簡體   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