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

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

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

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

Java

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

Eclipse

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

解決済

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

kunetyure
kunetyure

総合スコア23

JSP

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

Java

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

Eclipse

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

1回答

0リアクション

1クリップ

279閲覧

投稿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

<%@ page contentType="text/html;charset=UTF-8" import="java.util.*"%> <% response.setContentType("text/html;charset=UTF-8");%> <HTML> <HEAD><TITLE>名簿検索(java Beans 検索7)</TITLE></HEAD> <BODY BGCOLOR="#FFFFFF"> meibo.select.jsp <CENTER> <CAPTION><FONT SIZE="+3" COLOR="#0000FF"> <B><<名簿検索>></B> </FONT></CAPTION> <BR> <jsp:useBean id="meibo_bean" scope="request" class="sample.meibo_bean"/> <% if(meibo_bean.getHit_flag() == 0){ %> <font size="+3" color="deeppink"> 該当者なし </font> <% }else{ %> <font size="3" color="deeppink"> <% ArrayList tbl = meibo_bean.getTbl(); ArrayList row = (ArrayList)tbl.get(0); %> <% } %> </font> <table border="1" bordercolor="darkblue"> <tr> <td bgcolor="darkblue"> <font color="white">クラス</font> </td> <td bgcolor="darkblue"> <font color="white">出席</font> </td> <td bgcolor="darkblue"> <font color="white">学籍</font> </td> <td bgcolor="darkblue"> <font color="white">氏名(姓)</font> </td> <td bgcolor="darkblue"> <font color="white">氏名(名)</font> </td> <td bgcolor="darkblue"> <font color="white">カナ(姓)</font> </td> <td bgcolor="darkblue"> <font color="white">カナ(名)</font> </td> <td bgcolor="darkblue"> <font color="white">生年月日</font> </td> </tr> <% 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> <% } } %> </table><br> </center><br><br> <HR> <A HREF="/JV27/meibo_select3.html">名簿検索へ戻る</A> <A HREF="/JV27/class_index.html">ホームに戻る</A> <BR> </CENTER> </BODY> </HTML>

java

package sample; import java.sql.*; import java.io.*; import java.util.*; public class meibo_bean implements Serializable{ //データベース接続定義 final String URL = "jdbc:mysql://localhost/sampledb?useUnicode=true&characterEncoding=UTF-8"; //DB:ユーザ final String USER ="user"; //DB:パスワード final String PASSWORD ="passward"; //DB:ドライバ final String DRIVER ="com.mysql.jdbc.Driver"; Connection con = null; Statement stmt = null; //プロパティ定義 int hit_flag; String jyouken=""; //String class_no,syusseki_no,gakuseki_no,simei_1,simei_2,kana_1,kana_2,umare; String table=""; String fields = "*"; String sort = ""; ArrayList tbl = new ArrayList(); //コントラクタ定義 public meibo_bean() { super(); } //DBアクセス public void DBselect() { try { //mySQL Driverローディング Class.forName(DRIVER); //MySQLへの接続 con = DriverManager.getConnection(URL,USER,PASSWORD); //SQL格納 stmt = con.createStatement(); //SQL実行 Statement stmt = con.createStatement(); StringBuffer query = new StringBuffer(); query.append("SELECT "); query.append(fields); query.append(" from "); query.append(table); query.append(" WHERE "); query.append(jyouken); query.append(" "); query.append(sort); System.out.println(query.toString()); ResultSet rs = stmt.executeQuery(query.toString()); //テーブル情報取得 ResultSetMetaData rsmd = rs.getMetaData(); //検索結果 if(rs.next() == true) { hit_flag = 1; do{ ArrayList row = new ArrayList(); for(int i = 1; i <= rsmd.getColumnCount();i++){ try{ row.add(rs.getObject(i).toString()); } catch(Exception ex){ ex.printStackTrace(); } } tbl.add(row); }while(rs.next()); }else{ hit_flag = 0; } //切断 rs.close(); stmt.close(); con.close(); } //例外処理 catch (SQLException ex) { ex.printStackTrace(); } catch(Exception ex) { ex.printStackTrace(); } } //アクセサメソッド(setter) public void setTable(String inTable) { table = inTable; } public void setJyouken(String inJyouken) { jyouken = inJyouken; } public void setFields(String inFields) { fields = inFields; } public void setSort(String inSort) { sort = inSort; } //アクセサメソッド(getter) public int getHit_flag(){ return hit_flag; } public void getFields(String inFields) { fields = inFields; } public ArrayList getTbl(){ return tbl; } }
### 試したこと 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> <% } } %>

イメージ説明

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

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

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/09/10 10:56

こちらの質問が複数のユーザーから「過去に投稿した質問と同じ内容の質問」という指摘を受けました。

2022/09/10 21:52

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

m.ts10806

2022/09/10 09:27

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

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JSP

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

Java

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

Eclipse

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