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

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

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

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

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

691閲覧

名簿の検索結果をjspに表示させたい

kunetyure

総合スコア23

JSP

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

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

1クリップ

投稿2022/09/10 09:08

前提

jababeansを使ってクラス名簿の検索をしたい。
ここに質問の内容を詳しく書いてください。
(例)クラスと学年でクラス名簿を検索し、その結果をmeibo_select.jspに表示させたいのですが、検索結果の画面で下のようなエラーが起きてしまいます。データを送る側(meibo_bean.java)がいけないのか、データを受け取る受け皿(meibo_select.jsp)がわるいのか、またはそれ以外に原因があるのかわかりません。わかる方がいらっしゃったら教えていただきたいです。

エラーコードです。

org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: /meibo_select.jsp の中の75行目でエラーが発生しました tbl cannot be resolved 72: 73: 74: <% 75: for(int i = 0;i < tbl.size();i++){ 76: row = (ArrayList)tbl.get(i); 77: for(int j = 1;j < row.size();j++){ 78: %> JSPファイル: /meibo_select.jsp の中の76行目でエラーが発生しました row cannot be resolved 73: 74: <% 75: for(int i = 0;i < tbl.size();i++){ 76: row = (ArrayList)tbl.get(i); 77: for(int j = 1;j < row.size();j++){ 78: %> 79: JSPファイル: /meibo_select.jsp の中の76行目でエラーが発生しました tbl cannot be resolved 73: 74: <% 75: for(int i = 0;i < tbl.size();i++){ 76: row = (ArrayList)tbl.get(i); 77: for(int j = 1;j < row.size();j++){ 78: %> 79: JSPファイル: /meibo_select.jsp の中の77行目でエラーが発生しました row cannot be resolved 74: <% 75: for(int i = 0;i < tbl.size();i++){ 76: row = (ArrayList)tbl.get(i); 77: for(int j = 1;j < row.size();j++){ 78: %> 79: 80: JSPファイル: /meibo_select.jsp の中の82行目でエラーが発生しました row cannot be resolved 79: 80: 81: 82: <%=(String)row.get(j) %> 83: <% 84: } 85: %> JSPファイル: /meibo_select.jsp の中の91行目でエラーが発生しました Syntax error, insert "Finally" to complete TryStatement 88: 89: <% 90: } 91: } 92: %> 93: 94: An error occurred at line: 180 in the generated java file Syntax error on token "catch", Identifier expected An error occurred at line: 182 in the generated java file out cannot be resolved An error occurred at line: 182 in the generated java file _jspx_out cannot be resolved An error occurred at line: 183 in the generated java file out cannot be resolved An error occurred at line: 183 in the generated java file out cannot be resolved An error occurred at line: 184 in the generated java file out cannot be resolved An error occurred at line: 185 in the generated java file _jspx_page_context cannot be resolved An error occurred at line: 185 in the generated java file _jspx_page_context cannot be resolved An error occurred at line: 187 in the generated java file Syntax error on token "finally", { expected An error occurred at line: 188 in the generated java file _jspx_page_context cannot be resolved Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) at org.apache.jasper.JspCompilationContext.compile org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at meibo_select.doPost(meibo_select.java:44) at javax.servlet.http.HttpServlet.service (HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:404) at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:172) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core .ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core. StandardWrapperValve.invoke

実現したいこと

beanから送った検索結果を表示させたい。

該当のソースコード

jsp

1<%@ page contentType="text/html;charset=UTF-8" import="java.util.*"%> 2<% response.setContentType("text/html;charset=UTF-8");%> 3 4 5<HTML> 6 <HEAD><TITLE>名簿検索(java Beans 検索7)</TITLE></HEAD> 7 <BODY BGCOLOR="#FFFFFF"> 8 meibo.select.jsp 9 <CENTER> 10<CAPTION><FONT SIZE="+3" COLOR="#0000FF"> 11<B><<名簿検索>></B> 12</FONT></CAPTION> 13<BR> 14<jsp:useBean id="meibo_bean" scope="request" class="sample.meibo_bean"/> 15 16<% 17if(meibo_bean.getHit_flag() == 0){ 18%> 19 20<font size="+3" color="deeppink"> 21該当者なし 22</font> 23<% 24}else{ 25%> 26 27<font size="3" color="deeppink"> 28 29<% 30ArrayList tbl = meibo_bean.getTbl(); 31ArrayList row = (ArrayList)tbl.get(0); 32%> 33 34<% 35} 36%> 37 38</font> 39 40<table border="1" bordercolor="darkblue"> 41<tr> 42<td bgcolor="darkblue"> 43 <font color="white">クラス</font> 44 </td> 45 <td bgcolor="darkblue"> 46 <font color="white">出席</font> 47 </td> 48 <td bgcolor="darkblue"> 49 <font color="white">学籍</font> 50 </td> 51 <td bgcolor="darkblue"> 52 <font color="white">氏名(姓)</font> 53 </td> 54 <td bgcolor="darkblue"> 55 <font color="white">氏名(名)</font> 56 </td> 57 <td bgcolor="darkblue"> 58 <font color="white">カナ(姓)</font> 59 </td> 60 <td bgcolor="darkblue"> 61 <font color="white">カナ(名)</font> 62 </td> 63 <td bgcolor="darkblue"> 64 <font color="white">生年月日</font> 65 </td> 66 </tr> 67 68 69 70 71<% 72 for(int i = 0;i < tbl.size();i++){ 73 row = (ArrayList)tbl.get(i); 74 for(int j = 1;j < row.size();j++){ 75 %> 76 77 <td> 78 79 <%=(String)row.get(j) %> 80 <% 81 } 82 %> 83 84 </td> 85 </tr> 86<% 87 } 88 } 89 %> 90 91 92 </table><br> 93 </center><br><br> 94 95 96<HR> 97<A HREF="/JV27/meibo_select3.html">名簿検索へ戻る</A> 98<A HREF="/JV27/class_index.html">ホームに戻る</A> 99<BR> 100</CENTER> 101</BODY> 102</HTML> 103

java

1package sample; 2 3import java.sql.*; 4import java.io.*; 5import java.util.*; 6 7public class meibo_bean implements Serializable{ 8 9 10 //データベース接続定義 11 final String URL = 12 "jdbc:mysql://localhost/sampledb?useUnicode=true&characterEncoding=UTF-8"; 13 //DB:ユーザ 14 final String USER ="user"; 15 //DB:パスワード 16 final String PASSWORD ="passward"; 17 //DB:ドライバ 18 final String DRIVER ="com.mysql.jdbc.Driver"; 19 20 Connection con = null; 21 Statement stmt = null; 22 23//プロパティ定義 24 25 int hit_flag; 26 String jyouken=""; 27 //String class_no,syusseki_no,gakuseki_no,simei_1,simei_2,kana_1,kana_2,umare; 28 String table=""; 29 String fields = "*"; 30 String sort = ""; 31 ArrayList tbl = new ArrayList(); 32 33//コントラクタ定義 34 public meibo_bean() { 35 super(); 36 } 37 38 //DBアクセス 39 public void DBselect() { 40 try { 41 42 //mySQL Driverローディング 43 Class.forName(DRIVER); 44 45 //MySQLへの接続 46 con = DriverManager.getConnection(URL,USER,PASSWORD); 47 48 //SQL格納 49 stmt = con.createStatement(); 50 51 //SQL実行 52 Statement stmt = con.createStatement(); 53 StringBuffer query = new StringBuffer(); 54 query.append("SELECT "); 55 query.append(fields); 56 query.append(" from "); 57 query.append(table); 58 query.append(" WHERE "); 59 query.append(jyouken); 60 query.append(" "); 61 query.append(sort); 62 System.out.println(query.toString()); 63 ResultSet rs = stmt.executeQuery(query.toString()); 64 65 //テーブル情報取得 66 ResultSetMetaData rsmd = rs.getMetaData(); 67 68 //検索結果 69 if(rs.next() == true) { 70 hit_flag = 1; 71 do{ 72 ArrayList row = new ArrayList(); 73 for(int i = 1; i <= rsmd.getColumnCount();i++){ 74 try{ 75 row.add(rs.getObject(i).toString()); 76 } 77 catch(Exception ex){ 78 ex.printStackTrace(); 79 } 80 } 81 tbl.add(row); 82 }while(rs.next()); 83 }else{ 84 hit_flag = 0; 85 } 86 87 88 89 90 91 92 93 //切断 94 rs.close(); 95 stmt.close(); 96 con.close(); 97 98 } 99 //例外処理 100 catch (SQLException ex) { 101 ex.printStackTrace(); 102 } 103 catch(Exception ex) { 104 ex.printStackTrace(); 105 } 106 } 107 //アクセサメソッド(setter) 108 public void setTable(String inTable) { 109 table = inTable; 110 } 111 112 public void setJyouken(String inJyouken) { 113 jyouken = inJyouken; 114 } 115 116 public void setFields(String inFields) { 117 fields = inFields; 118 } 119 public void setSort(String inSort) { 120 sort = inSort; 121 } 122 123 124 //アクセサメソッド(getter) 125 126 public int getHit_flag(){ 127 return hit_flag; 128 } 129 public void getFields(String inFields) { 130 fields = inFields; 131 } 132 133 134 public ArrayList getTbl(){ 135 return tbl; 136 } 137} 138
### 試したこと meiboselect.jspの<font color="white">生年月日</font></td></tr>の下に以下のコードを追加したところ、エラーは出ないけどデータが何もとれていないということが起こりました。 ```jsp <% for(int i = 0;i < tbl.size();i++){ row = (ArrayList)tbl.get(i); for(int j = 1;j < row.size();j++){ %> <td> <%=(String)row.get(j) %> <% } %> </td> </tr> <% } } %>

イメージ説明

長くなってしまい申し訳ございません。

長くなってしまい申し訳ございません。以前にも同じ質問をし、修正依頼が来たので編集したら文字数の関係で再度出し直しました。

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

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

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

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

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

m.ts10806

2022/09/10 09:27

いや、この質問におさめられるなら元の質問編集してもらったらいいんですけどね。 元の質問放置されますし。 それに「なんかよくわからん文字列出てきたエラーだヤバい」としかなってないように見えます。 ちゃんと読めば丁寧に何が悪いか教えてくれてるので、ちゃんと読めばいいんじゃないかと。 ほんとに全部必要かというとそうじゃないですし。
guest

回答1

0

自己解決

すいません解決しました

投稿2022/09/13 12:32

kunetyure

総合スコア23

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問