質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

4521閲覧

JSPでDBのデータを一覧表示したいです。

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/05/26 15:08

編集2022/05/27 14:50

DBからテーブルを引っ張ってきて、Javaのほうで出力させたい(全件検索)のですが、表の中身を表示させることが出来ません。
手順と致しましては、ログインしてからメニュー画面に遷移しメニュー画面から商品一覧表示画面に遷移するとすると言ったかた形です。

環境は
・JSP
・Java
・Tomcat
・MYSQL
です。

java

1package model.dao; 2 3import java.sql.Connection; 4import java.sql.PreparedStatement; 5import java.sql.ResultSet; 6import java.sql.SQLException; 7import java.util.ArrayList; 8import java.util.List; 9 10import model.entity.UserBean; 11 12public class UserDAO { 13 14 public static Object find; 15 16 /* 17 * ログイン認証 18 * 19 */ 20 public boolean login(String customer_id, String password) throws SQLException, ClassNotFoundException { 21 String sql = "SELECT * from m_customer WHERE customer_id=? AND password=?"; 22 23 try (Connection con = ConnectionManager.getConnection(); 24 PreparedStatement pstmt = con.prepareStatement(sql)) { 25 26 pstmt.setString(1, customer_id); 27 pstmt.setString(2, password); 28 29 ResultSet res = pstmt.executeQuery(); 30 31 while (res.next()) { 32 return true; 33 } 34 35 } 36 37 return false; 38 } 39 40 //商品一覧表示 41 public List<UserBean> itemAll() throws SQLException, ClassNotFoundException { 42 43 List<UserBean> list = new ArrayList<UserBean>(); 44 45 //商品名、価格を取得 46 String sql = "SELECT ja.item_nm, se.price \r\n" 47 + "FROM shopping_db.m_sales_item se \r\n" 48 + "inner join shopping_db.m_jancode ja \r\n" 49 + "on se.jan_cd = ja.jan_cd;"; 50 51 try (Connection con = ConnectionManager.getConnection(); 52 PreparedStatement pstmt = con.prepareStatement(sql)) { 53 54 ResultSet res = pstmt.executeQuery(); 55 56 while (res.next()) { 57 String item = res.getString("item_nm"); 58 int price = res.getInt("price"); 59 60 UserBean userbean = new UserBean(); 61 userbean.setItem_nm(item); 62 userbean.setPrice(price); 63 64 list.add(userbean); 65 66 } 67 68 } 69 70 return list; 71 } 72 73// public String cartAdd(String item_nm)throws SQLException, ClassNotFoundException { 74// String message = ""; 75// 76// String sql = "SELECT ja.item_nm, se.price FROM shopping_db.m_sales_item se inner join shopping_db.m_jancode ja on se.jan_cd = ja.jan_cd;"; 77// 78// 79// 80// 81// 82// return; 83// } 84// 85} 86

jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" 3 import="model.entity.UserBean,java.util.List, java.util.ArrayList"%> 4<!DOCTYPE html> 5<html> 6<head> 7<meta charset="UTF-8"> 8<title>商品一覧</title> 9</head> 10<body> 11 <% 12 List<UserBean> itemList = (List<UserBean>) request.getAttribute("itemList"); 13 14 if (itemList.size() != 0) { 15 %> 16 <h3>ユーザ一覧</h3> 17 18 <table> 19 <tr> 20 <th>商品名</th> 21 <th>価格</th> 22 </tr> 23 <% 24 for (UserBean user : itemList) { 25 %> 26 <tr> 27 <td><%=user.getItem_nm()%></td> 28 <td><%=user.getPrice()%></td> 29 </tr> 30 <% 31 } 32 %> 33 </table> 34 <% 35 } else { 36 %> 37 ユーザー情報がありません。 38 <br> 39 <% 40 } 41 %> 42 43 44 45 46 47 <%-- 48 List<String> itemCode = new ArrayList<String>(); 49 itemCode.add("A10000 "); 50 itemCode.add("B10000 "); 51 itemCode.add("C10000 "); 52 53 List<String> item = new ArrayList<String>(); 54 item.add("ハンバーグ弁当 "); 55 item.add("野菜サラダ "); 56 item.add("野菜ジュース "); 57 58 List<String> price = new ArrayList<String>(); 59 price.add("300"); 60 price.add("200"); 61 price.add("100"); 62 --%> 63 <%-- 64 <table> 65 <caption>商品一覧</caption> 66 <tr> 67 <th>商品コード</th><th>商品名</th><th>価格</th> 68 </tr> 69 <% 70 for(int i=0;i<itemCode.size();i++){ 71 %> 72 <tr> 73 <td><%=itemCode.get(i) %></td><td><%=item.get(i) %></td><td><%=price.get(i) %></td> 74 </tr> 75 <% 76 } 77 %> 78 79 </table> 80 --%> 81</body> 82</html>

servlet

1ItemListServlet.java 2昨日 3木 17:43 4 5アイテムを 1 個アップロードしました 6Java 7ItemListServlet.java 8アクティビティの記録がありません 9package servlet; 10 11import java.io.IOException; 12import java.util.List; 13 14import javax.servlet.RequestDispatcher; 15import javax.servlet.ServletException; 16import javax.servlet.annotation.WebServlet; 17import javax.servlet.http.HttpServlet; 18import javax.servlet.http.HttpServletRequest; 19import javax.servlet.http.HttpServletResponse; 20import javax.servlet.http.HttpSession; 21 22import model.dao.UserDAO; 23import model.entity.UserBean; 24 25@WebServlet("/itemlistservlet") 26public class ItemListServlet extends HttpServlet { 27 private static final long serialVersionUID = 1L; 28 29 /** 30 * @see HttpServlet#HttpServlet() 31 */ 32 public ItemListServlet() { 33 super(); 34 // TODO Auto-generated constructor stub 35 } 36 37 /** 38 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 39 */ 40 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41 // TODO Auto-generated method stub 42 response.getWriter().append("Served at: ").append(request.getContextPath()); 43 } 44 45 /** 46 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 47 */ 48 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 49 50 String url = null; //画面遷移先 51 52 // セッションオブジェクトの取得 53 HttpSession session = request.getSession(); 54 55 56 //ログイン認証済みかどうかを確認 57 if (session.getAttribute("userid") != null) { 58 // 認証 59 try { 60 UserDAO userDao = new UserDAO(); 61 List<UserBean> userList = userDao.itemAll(); 62 request.setAttribute("userList",userList); 63 url = "item-list.jsp"; 64 }catch(Exception e){ 65 e.printStackTrace(); 66 } 67 68 }else { 69 //未承認 70 url = "login.html"; 71 } 72 73 // リクエストの転送 74 RequestDispatcher rd = request.getRequestDispatcher(url); 75 rd.forward(request, response); 76 } 77 78}

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2022/05/27 00:49

> 表の中身を表示させることが出来ません。 どこまでちゃんと動いているのでしょう。JSPに転送する前のUserDAOでDBからデータを取ってリストを取得しているようですが、そこは確実なのでしょうか。
退会済みユーザー

退会済みユーザー

2022/05/27 01:34

これの前のログイン画面でのデータの取得も同じようにやっているのでデータの取得はできていると思います
guest

回答1

0

ベストアンサー

具体的にどういう現象、問題が起きているか次第ですけど、

Java

1 + "on se.jan_cd = ja.jan_cd;"; 2 //↑この;

プリペアドステートメントでSQLを組み立てる際に、1回のexecuteで1文しか実行できないのでSQL文の終端;は不要です。それでエラーになることもあるのではと。

投稿2022/05/26 23:50

編集2022/05/27 03:50
m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/05/26 23:53

初心者で申し訳ありません。質問の通りのjspファイルでデータベースを表示したいのですが、その書き方が分からずじまいでして教えて頂きたいです。
m.ts10806

2022/05/27 03:35

回答を読んでのコメントではないのですか?
cococcc

2022/05/27 05:00

申し訳ございません。改善しまして治りませんでしたがソースを確認したところ名前の付け方の不一致が原因でした。
m.ts10806

2022/05/27 05:04

どなたでしょうか。 もし質問者と同一人物のアカウントでしたら規約違反です。 https://teratail.com/legal 第7条(禁止事項) (11)複数のユーザーIDを1人で保有する行為
m.ts10806

2022/05/27 05:50

ひとまず当質問を解決済みにしておいてください。 質問は質問したアカウントでしか解決済みにできません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問