ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST ");
ArrayList list = new ArrayList();
while(rs.next()) {
int state = rs.getInt("attendance");
list.add(new Integer(state));
}
int[] in = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
in[i] = ((Integer)list.get(i)).intValue();
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JSPでDB接続</title>
</head>
<body>
<table>
<tr><td>欠席</td><td>><%= countNum(-1, in) %></td></tr>
<tr><td>未定</td><td><%= countNum(-1, in) %></td></tr>
<tr><td>出席</td><td><%= countNum(-1, in) %></td></tr>
</table>
以下のエラーがでてきますが、どういう意味でしょうか。
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません:
JSPファイル: /jsp/tokei.jsp の中の26行目でエラーが発生しました
The method countNum(int, int[]) is undefined for the type tokei_jsp
23: </head>
24: <body>
25: <table>
26: <tr><td>キ鄲ハ</td><td>><%= countNum(-1, in) %></td></tr>
27: <tr><td>フ、ト�</td><td>3</td></tr>
28: <tr><td>スミタハ</td><td>3</td></tr>
29: </table>
よろしくおねがいします。
No.2ベストアンサー
- 回答日時:
JSPといっても実体はjavaになります。
で、ご質問者様のJSPソースですとメソッド内でメソッドを定義していることになりますので、これはできません。
で、JSPでどうやるかというと
No1の回答を良く見るとわかるかと思いますが、1行目で
<%! ←←← びっくりマークがついていますね!
ということで、これをやると<%!から次の%>まではJSPのメイン処理メソッド外での定義となりますので
メソッドが定義できるわけです。
話がよくわからん!ということでしたら、JSPでメソッドを定義する場合は<%!で書くんだという意識で構いません。
興味がございましたら調べてみることをお勧めします。
なんども 親切でありがとうございます。
メソッドの定義は<%! %>ですね。
やっとうまく表示できました。
ありがとうございました。
No.1
- 回答日時:
先ほどの質問に回答したものです。
JSPにcountNumメソッドって定義されました?
例えば↓でしたら動くことを確認していますが・・・
<%!
private static int countNum(int v, int[] values) {
int cnt = 0;
for (int i = 0; i < values.length; i++) {
if (values[i] == v) {
cnt++;
}
}
return cnt;
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<table>
<tr><td>欠席</td><td>><%= countNum(-1, new int[]{1,2,3,4,5}) %></td></tr>
</table>
</body>
</html>
この回答への補足
なんどもすみません。countNum定義してたんですが、コンパイルできませんというエラーが出ます。。
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません:
JSPファイル: /jsp/tokei.jsp の中の8行目でエラーが発生しました
Syntax error on token "(", ; expected
5: MyDBAccess db = new MyDBAccess();
6: db.open();
7: ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST ");
8: private static int countNum(int v, int[] values) {
9: int cnt = 0;
10: for (int i = 0; i < values.length; i++) {
11: if (values[i] == v) {
ご教授ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オブジェクトの中のプロパティ...
-
JSPでImportエラーになります
-
<s:iterator>の値をリストで取...
-
データベースに変数の値を挿入
-
入力チェックとエラーメッセー...
-
PropertyNotFoundException解決...
-
java strutsでの一覧表の表示方...
-
JSFタグ<h:dataTable>でヘッダ...
-
Java Struts ~に対するゲッタ...
-
Spring2.0での連続したトランザ...
-
requestの値が削除されません…
-
Struts2 selectタグのmultiple...
-
JSP DB 表示
-
1ページに10件ずつ表示したい
-
【struts】 ActionFormで別のAc...
-
JSPでDBからデータ読み込みブラ...
-
JSPでの文字列編集出力
-
JSPからServletに、テーブルに...
-
iterateで受け取った値を処理に...
-
javaで質問です。 文字列2023/2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクトの中のプロパティ...
-
StrutsでJSPからListを受け取り...
-
JSPでImportエラーになります
-
Java Struts ~に対するゲッタ...
-
JSPからServletに、テーブルに...
-
hiddenの値が期待した値で取得...
-
<s:iterator>の値をリストで取...
-
全取得したデータをjspで順番に...
-
PropertyNotFoundException解決...
-
JSPにて、変数を利用してフォン...
-
JSPでDBからデータ読み込みブラ...
-
requestの値が削除されません…
-
入力チェックとエラーメッセー...
-
【struts】 ActionFormで別のAc...
-
iterateで受け取った値を処理に...
-
【Struts】bean:writeタグのpro...
-
No such validation エラー
-
データベースに変数の値を挿入
-
javaの環境変数の%CATALINA_HOM...
-
StrutsのforEachについて
おすすめ情報