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

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

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

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

Java

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

3回答

2898閲覧

ArrayListの使い方

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

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

Java

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2018/07/10 05:46

編集2018/07/10 06:11

やりたいこ:1.サーブレットでDBから情報を取得し、ArrayListに追加
2.ArrayListをjspにリクエストスコープを使用して渡す
3.受け取ったArrayListを、jspで表示

エラー:ArrayList を型に解決できませんと表示されます。
なぜ、ArrayListを型に解決できないのでしょうか。
→pageディレクティブを改善したら、エラーが取れました。
しかし、今度はGyomuが解決できません。と出ます。
エラー:JSPファイル: [/WEB-INF/ListScreen.jsp] の中の[18]行目でエラーが発生しました
エラー:JSPファイル: [/WEB-INF/ListScreen.jsp] の中の[22]行目でエラーが発生しました

java

1package servlet; 2 3import java.io.IOException; 4import java.util.List; 5 6import javax.servlet.RequestDispatcher; 7import javax.servlet.ServletException; 8import javax.servlet.annotation.WebServlet; 9import javax.servlet.http.HttpServlet; 10import javax.servlet.http.HttpServletRequest; 11import javax.servlet.http.HttpServletResponse; 12 13import model.GetGyomuhokokuListLogic; 14import model.Gyomu; 15 16@WebServlet("/ListScreen") 17public class ListScreen extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 protected void doPost(HttpServletRequest request, 21 HttpServletResponse response) 22 throws ServletException, IOException { 23 24 GetGyomuhokokuListLogic getGyomuhokokuListLogic = new GetGyomuhokokuListLogic(); 25 List<Gyomu> gyomuList = getGyomuhokokuListLogic.execute(); 26 27 28 request.setAttribute("gyomuList", gyomuList); 29 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/ListScreen.jsp"); 30 dispatcher.forward(request, response); 31 32 33 34 } 35} 36

java

1 2ListScreen.jsp 3<%@ page language="java" 4 contentType="text/html; charset=UTF-8" 5 pageEncoding="UTF-8" 6 import="java.util.ArrayList" 7 %> 8 9<html> 10<head> 11 12<title>業務報告システム</title> 13</head> 14<body> 15 16 <h2>日報</h2> 17 18 <form action=gyomuhokoku/Henshu method=get> 19 <% 20 ArrayList<Gyomu> gymList = (ArrayList<Gyomu>) request.getAttribute("gymList"); 21 %> 22 <% 23 out.println("<form action=\"/gyomuhokoku/Henshu\" method=\"get\">"); 24 for (Gyomu gyomu : gymList) { 25 out.println("<table border=\"1\">"); 26 %> 27 28 29 <table border=1> 30 <td> 31 <button type=submit name=ID value=gyomu.getId()></button> 32 </td> 33 34 <td>gyomu.getHiduke()</td> 35 <td>gyomu.getYotei()</td> 36 <td>gyomu.getName()</td> 37 <td>gyomu.getZisseki()</td> 38 <td>gyomu.getTokki()</td> 39 <td>gyomu.getShokan()</td> 40 <td>gyomu.getKakuno()</td> 41 <td>gyomu.getZikaiyotei()</td> 42 <td>gyomu.getKomento()</td> 43 <td>gyomu.getBiko()</td> 44 </table> 45 <% 46 } 47 %> 48 </form> 49 <form action=/gyomuhokoku/Form method=post> 50 <button type=submit name=ID>新規登録</button> 51 </form> 52 53</body> 54</html> 55

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

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

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

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

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

tkturbo

2018/07/10 05:52

実際に出力されたエラーメッセージを追記してください。
退会済みユーザー

退会済みユーザー

2018/07/10 06:11

ありがとうございます。コードを修正しました。今度はGyomuが解決できないようです.....
guest

回答3

0

JSPでは、pageディレクティブでimport宣言しなくても常に使えるクラスがあります。

これらは、Javaのクラスで書くと、以下のような設定がある状態です。

java

1import java.lang.*; 2import javax.servlet.* 3import javax.servlet.jsp.* 4import javax.servlet.http.*

JSPもTomcatなどのコンテナではサーブレットに変換されコンパイルされますので、もし上記以外のクラスを使いたい場合は、pageディレクティブに追加してあげましょう。

投稿2018/07/10 06:31

A-pZ

総合スコア12011

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

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

退会済みユーザー

退会済みユーザー

2018/07/20 07:11

ご回答ありがとうございました。
guest

0

ベストアンサー

とりあえず、pageディレクティブの書き方がおかしいので指摘しておきます。

正しい使い方はこちら↓
pageディレクティブ | JavaDrive

jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" 3 page import="java.util.ArrayList" 4 page import="java.util.ArrayList" 5 6 page language="java" contentType="text/html; charset=Windows-31J" 7 pageEncoding="Windows-31J" 8 page import="java.util.ArrayList" 9 10 11 %>

↑で、jspの文字エンコーディングはUTF-8?Windows-31J?
なぜArrayListを何回もimportしてるの?

シンプルにすると、

jsp

1<%@ page language="java" 2 contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8" 4 import="java.util.ArrayList" 5 %>

↑こんな感じですかね。

質問者に追記依頼を出していますので、これ以降の回答は追記後に。

質問文追記結果に対して回答文追記

しかし、今度はGyomuが解決できません。と出ます。
エラー:JSPファイル: [/WEB-INF/ListScreen.jsp] の中の[18]行目でエラーが発生しました
エラー:JSPファイル: [/WEB-INF/ListScreen.jsp] の中の[22]行目でエラーが発生しました

↑じゃあ、importに追加すればいいじゃない。

import="java.util.ArrayList,model.Gyomu"

↑最初の回答で提示したリンク先にimportの追加のやり方などちゃんと出ています。
何でもかんでも「教えてくん」になるのではなく、自分で学ぶべきです。

投稿2018/07/10 05:59

編集2018/07/10 06:19
tkturbo

総合スコア5572

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

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

退会済みユーザー

退会済みユーザー

2018/07/20 07:11

何でもかんでも「教えてくん」になるのではなく、自分で学ぶべきです →ご回答ありがとうございました。気を付けていきます。
guest

0

間違った回答でした。

java

1import java.util.ArrayList;

が必要。

投稿2018/07/10 05:55

編集2018/07/10 05:56
swordone

総合スコア20649

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

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

退会済みユーザー

退会済みユーザー

2018/07/20 07:11

ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問