- ベストアンサー
JSPでのIF文エラーの解決方法
- JSPにてIF文を使ったDBテーブル表示のWEBを作成しましたが、クローズの行で「型の開始が不正」というエラーが表示されます。解決方法を教えてください。
- JSPでIF文を使ったDBテーブル表示のWEBを作成していますが、クローズの行でエラーが発生しています。「型の開始が不正」というエラーメッセージが表示されます。どのように修正すればいいでしょうか。
- JSPでIF文を使用してDBテーブルの表示を行っていますが、クローズの行で「型の開始が不正」というエラーが表示されます。どのようにすればエラーを解消できるでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
kuwazooです。 --------------------------------------------- String year = request.getParameter("年齢"); String namber = request.getParameter("電話番号"); の部分のスクリプトレットで囲まれていないと言う部分が未熟故に分りかねます。 --------------------------------------------- jspでは、簡単に言いますとHTMLタグ(見た目)を書く部分と プログラムを書く部分が含まれるということはご存知ですか? で、jspでは、ここはHTML部分、ここはプログラム部分と 見分けて動作するわけです。(簡単に言うと) 見分けてもらう為には、ここは、宣言、ここは式、ここはプログラム を書いたよ、ここは、HTMLを書いたんだよというふうに 書き方に決まりがあるのです。それを無視すれば、意図した通りには 絶対に動きません。もう一度、どう書いたらどう認識されるか 参考書をごらんになってみると良いかと思われます。 で、問題の、 String year = request.getParameter("年齢"); String namber = request.getParameter("電話番号"); ですが、これは、プログラムですよね? HTMLとして、表示させる文字ではないですよね? だとしたら、プログラムを書く場所にルールに従って 書く必要があります。 (※宣言の部分に書いた場合と、プログラムを書く場所に書いた場合 では、動作が違うので、ここも、参考書を見て適宜調整してください。) とりあえず、今回は、プログラムを書く部分に書いてみて動作を確認してみたらいかがでしょうか? というわけで、その後の行に <% が書いてありますよね? これをコメントアウトするか、消してください。そして String year = request.getParameter("年齢"); の上に書くようにしてください。その他はいじらないでください。 <% ~ %> で囲った部分は、javaプログラムと判断されるルールなので これで、問題の2行がjavaプログラムとして解釈されるようになったわけです。ご参考になさってください。 ※本は、誤植や間違いが多いのでそれをうつして実行しても動かない場合も多々あります。まず基本ルールを叩き込み、それを念頭に置きながら ソースは見ていったほうが勉強にもなるし、吸収が早いと思われます。
その他の回答 (2)
- kuwazoo
- ベストアンサー率50% (2/4)
kuwazooです。ちょと間違えました。 String year = request.getParameter("年齢"); String namber = request.getParameter("電話番号"); のメンバ定義ですが、スクリプトレットで囲まれて いないような気がするのですがどうでしょうか? この他にもプログラムを書いている場所で 適切にスクリプトレットで囲まれているかどうか確認してみて下さい。 宣言<%! 宣言文; %>、式<%= 式 %>の部分も適切に記述されているか 確認をしてみて下さい。 プログラムを部分で、javaの環境でコンパイルエラーが 出るようなところはjspでもエラーになります。文法的に あっているか、記述方法が正しいかどうか今一度ご確認を してみてください。
お礼
ありがとうございます! メンバ定義はIF文を書く前には上記の記述で通っていた記憶があるのですがもう1度確認させて頂きたいと思います。
補足
色々、考えてみて作成した所、IFの変更でエラーはでなくなりました。 ありがとうございます。 しかし、レコードが表示されないのですがません。 値を持ってきていない為にIF文が機能していない様に思います。 ご指摘頂いた String year = request.getParameter("年齢"); String namber = request.getParameter("電話番号"); の部分のスクリプトレットで囲まれていないと言う部分が未熟故に分りかねます。 ご教示頂けませんでしょうか?よろしくお願い致します。
- kuwazoo
- ベストアンサー率50% (2/4)
String year = request.getParameter("年齢"); String namber = request.getParameter("電話番号"); のメンバ定義ですが、スクリプトレットで囲まれて いないような気がするのですがどうでしょうか? この他にもプログラムを書いている(htmlタグ以外)場所で 適切なスクリプトレットで囲まれているかどうか確認してみて下さい。
お礼
ご回答ありがとうございます☆ とてもご親切かつ丁寧なご説明で分かりやすかったです! >ここは、宣言、ここは式、ここはプログラム 少しは理解していたつもりでしたが再度、参考書にて 勉強します。。。 ご説明を受けてプログラムを眺めていると javaプログラムと判断されていない部分に書いていた様です。 もう1度基本ルールを徹底したいと思います。 本当にありがとうございました♪