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

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

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

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

Java

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

servlet

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

Q&A

解決済

1回答

2966閲覧

JavaBeanの値を拡張for文で指定したいです

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

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

Java

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

servlet

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

0グッド

0クリップ

投稿2021/06/21 08:28

クイズのプログラム作っているのですが、NullPointerExceptionが出てしまいます.
selectQuizの拡張for文のところでエラーが起きてしまうのですが何故なのか分かりません。
どうすれば良いか教えてください!

java

1package exercises4.servlet; 2 3import java.io.IOException; 4import java.util.ArrayList; 5import java.util.List; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletContext; 9import javax.servlet.ServletException; 10import javax.servlet.annotation.WebServlet; 11import javax.servlet.http.HttpServlet; 12import javax.servlet.http.HttpServletRequest; 13import javax.servlet.http.HttpServletResponse; 14 15import exercises4.model.ItQuestionBean; 16 17/** 18 * Servlet implementation class ItQuestionServlet 19 */ 20@WebServlet("/ItQuestionServlet") 21public class ItQuestionServlet extends HttpServlet { 22 private static final long serialVersionUID = 1L; 23 24 /** 25 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 26 */ 27 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 // TODO Auto-generated method stub 29 ItQuestionBean ipb = null; 30 ipb = selectQuiz(quizData(), 1); 31 request.setAttribute("ipb", ipb); 32 //question1へ 33 ServletContext context = getServletContext(); 34 RequestDispatcher rd = context.getRequestDispatcher("/question1.jsp"); 35 rd.forward(request, response); 36 } 37 38 /** 39 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 */ 41 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 // TODO Auto-generated method stub 43 doGet(request, response); 44 } 45 46 private List<ItQuestionBean> quizData(){ 47 List<ItQuestionBean> quizes = new ArrayList<>(); 48 49 ItQuestionBean question = new ItQuestionBean(); 50 question.setQuizNo(1); 51 question.setQuiz("コンピュータ間でデータ通信を行う時に必要な通信速度、手順などの取り決めをなんという?"); 52 question.setSelectA("プログラム"); 53 question.setSelectB("プロトコル"); 54 question.setSelectC("プロファイル"); 55 question.setSelectD("プロメテウス"); 56 quizes.add(question); 57 58 question = new ItQuestionBean(); 59 question.setQuizNo(2); 60 question.setQuiz("1MBをKBに換算すると?"); 61 question.setSelectA("1024KB"); 62 question.setSelectB("1022KB"); 63 question.setSelectC("1028KB"); 64 question.setSelectD("1026KB"); 65 quizes.add(question); 66 67 question = new ItQuestionBean(); 68 question.setQuizNo(1); 69 question.setQuiz("「XML」とは何の略?"); 70 question.setSelectA("eXciting MarkupLangage(エキサイティング・マークアップ・ランゲージ"); 71 question.setSelectB("X-BOX Mailing List(エックスボックス・メーリング・リスト"); 72 question.setSelectC("eXciting Mailing List(エキサイティング・メーリング・リスト"); 73 question.setSelectD("eXtensible Markup Langage(エクステンシブル・マークアップ・ランゲージ"); 74 quizes.add(question); 75 76 return null; 77 } 78 79 private ItQuestionBean selectQuiz(List<ItQuestionBean> a, int quizNo) { 80 ItQuestionBean iq = null; 81 for(ItQuestionBean quiz: a) { 82 if(quiz.getQuizNo() == quizNo) { 83 iq = quiz; 84 break; 85 } 86 } 87 return iq; 88 } 89 90} 91

java

1package exercises4.model; 2 3import java.io.Serializable; 4 5public class ItQuestionBean implements Serializable { 6 private int quizNo; 7 private String quiz; 8 private String selectA; 9 private String selectB; 10 private String selectC; 11 private String selectD; 12 13 14 public int getQuizNo() { 15 return quizNo; 16 } 17 public void setQuizNo(int quizNo) { 18 this.quizNo = quizNo; 19 } 20 public String getQuiz() { 21 return quiz; 22 } 23 public void setQuiz(String quiz) { 24 this.quiz = quiz; 25 } 26 public String getSelectA() { 27 return selectA; 28 } 29 public void setSelectA(String selectA) { 30 this.selectA = selectA; 31 } 32 public String getSelectB() { 33 return selectB; 34 } 35 public void setSelectB(String selectB) { 36 this.selectB = selectB; 37 } 38 public String getSelectC() { 39 return selectC; 40 } 41 public void setSelectC(String selectC) { 42 this.selectC = selectC; 43 } 44 public String getSelectD() { 45 return selectD; 46 } 47 public void setSelectD(String selectD) { 48 this.selectD = selectD; 49 } 50} 51

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

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

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

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

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

guest

回答1

0

ベストアンサー

quizeDataの戻り値がNullになっていたのを変更しセッションを使ったらできました。

投稿2021/06/21 08:56

編集2021/06/21 08:57
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問