webアプリの勉強がてら、適当な掲示板でも作ってみようと思い、とりあえず根本的な処理ができたので起動してみたのですが、延々とエラーを吐いてしまいました。
掲示板などのサイトはページを更新するたびに最新の情報が反映されるため、jspの起動時にその都度DBからデータを持ってくればいいと考えたのですが、下のBoard.jspの12行目でエラーが出てしまいます。なぜなのでしょうか。
Board.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import = "java.util.List" import = "java.util.ArrayList" import = "model.Dto" import="java.sql.Timestamp" %> <% RequestDispatcher disp = request.getRequestDispatcher("/ExecuteShowAll"); disp.forward(request,response); //12行目 List<Dto> dtoList = new ArrayList<>(); dtoList = (List<Dto>)request.getAttribute("CONTENT"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>掲示板</title> </head> <body> <% if(dtoList != null){ for(int i = 0; i<dtoList.size(); i++){ String userName = dtoList.get(i).getUserName(); Timestamp time = dtoList.get(i).getTime(); String userId = dtoList.get(i).getUserId(); String message = dtoList.get(i).getMessage(); %> <p><%= userName %>,<%= time %>,<%=userId %></p> <p><%= message %></p> <% } } %> <form action = "<%= request.getContextPath() %>/ExecuteInsert" method = "post"> <p>名前:<textarea name = "NAME" rows="1" cols="10" maxlength="10"></textarea></p> <p>投稿内容:<textarea name = "MESSAGE" rows="5" cols="50" maxlength="1000"></textarea></p> <input type = "submit" value="投稿" > </form> </body> </html>
ExecuteShowAll.java
package Controller; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.BusinessLogic; import model.Dto; @WebServlet("/ExecuteShowAll") public class ExecuteShowAll extends HttpServlet { private static final long serialVersionUID = 1L; public ExecuteShowAll() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); //受信データの文字コード設定 request.setCharacterEncoding("UTF-8"); List<Dto> dtoList = new ArrayList<>(); BusinessLogic logic = new BusinessLogic(); //Select文のためのメソッド dtoList = logic.executeShowAll(); request.setAttribute("CONTENT", dtoList); RequestDispatcher disp = request.getRequestDispatcher("/view/Board.jsp"); disp.forward(request,response); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/09 01:51 編集