ご覧頂きましてありがとうございます。
Javaの初学者でして、現在研修の一環として「掲示板作成」をしております。
その中でDaoファイルで取得してきたデータベースの内容を、一度GetBoardAllFacade.javaというファイルに渡して、jspファイルに渡そうとしているのですが、jsp側でjava.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0というエラーが起きてしまい、そのエラーの解決方法がわからずご質問を投稿させて頂きました。
KeijibanDao
1public ArrayList<ArrayList<String>> getBoardAll () { 2 ArrayList<ArrayList<String>> board_info = new ArrayList<ArrayList<String>>(); 3 try { 4 String board_table = "select * from board order by register_data asc"; 5 PreparedStatement state = con.prepareStatement(board_table); 6 ResultSet rs = state.executeQuery(); 7 8 while(rs.next()) { 9 ArrayList<String> list = new ArrayList<String>(); 10 list.add(rs.getString("id")); 11 list.add(rs.getString("user_id")); 12 list.add(user_info.get(0)); 13 list.add(rs.getString("text")); 14 list.add(rs.getString("register_data")); 15 board_info.add(list); 16 17 } 18 } catch (SQLException e){ 19 System.out.println("SQLException:" + e.getMessage()); 20 } 21 return board_info; 22 23 }
GetBoardAllFacade
1import java.sql.SQLException; 2import java.util.ArrayList; 3 4public class GetBoardAllFacade { 5 KeijibanKensyuDao text_info = new KeijibanKensyuDao(); 6 public ArrayList<ArrayList<String>> execute () { 7 ArrayList<ArrayList<String>> board_info = new ArrayList<ArrayList<String>>(); 8 try { 9 text_info.connect(); 10 ArrayList<ArrayList<String>> list = text_info.getBoardAll(); 11 board_info = list; 12 } catch (ClassNotFoundException | SQLException e) { 13 e.printStackTrace(); 14 } finally { 15 try { 16 text_info.close(); 17 } catch (SQLException e) { 18 e.printStackTrace(); 19 } 20 } 21 return board_info; 22 } 23 24}
Main.jsp
1<% 2GetBoardAllFacade info = new GetBoardAllFacade(); 3ArrayList<ArrayList<String>> board_info = info.execute (); 4%> 5 6 <table> 7 <tr> 8 <td><h3 class="user_name"> 9 (<span>ユーザー名</span>) : (投稿日時) 10 </h3></td> 11 <td> 12 <tr> 13 <td>投稿内容1</td> 14 <td> 15 <tr> 16 <td> 17 <tr> 18 <td><input type="submit" value="削除"></td> 19 </tr> 20 </table> 21</body> 22</html>
Daoファイルではデータベースからの値が取得できていることが確認できております。
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0と表示されていることから、
FacadeファイルのexecuteメソッドがDaoからの情報を上手く取得できていないのかとも思っているのですが、原因がわからずでして、どなたかご教示を頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー