因此,這是事情。我嘗試使用jsp在網站的主頁上顯示一些消息列表。但是,當tomcat服務器啓動時,我只能看到這個錯誤「HTTP狀態500 - java.lang.NullPointerException」,指向「for(Message message:messageList)」HTTP狀態500 - java.lang.NullPointerException Servlet + jsp
這裏是servlet的代碼:
public class MainPageServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MessageManager manager = new MessageManager();
List<Message> messageList = manager.getMessages();
request.setAttribute("messages", messageList);
request.getRequestDispatcher("/main-page.jsp").include(request, response); } }
這裏是JSP的一部分:
<%
List<Message> messageList = (List<Message>) request.getAttribute("messages");
for (Message message : messageList) {
%>
<div class="row" style="margin-top: 15px">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">
<%= message.getLogin()%>
</h3>
</div>
<div class="panel-body">
<%= message.getMessage() %>
</div>
<div class="panel-footer">
Posted at: <%= message.getDate() %>
</div>
</div>
</div>
</div>
<%
}
%>
我在得到給messageManager的結果測試,它是100%確定。那麼錯誤在哪裏? Thnx提前幫忙!
getMessages()返回null嗎? –
不,它返回一個消息列表。我通過在控制檯中顯示結果列表做了一個簡單的測試 - 一切正常。 – user2855400
您是否檢查'messageList'是否包含空項目? –