- - PR -
Struts で bean:define タグ使用時に表示されるエラーについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-23 14:05
riceといいます。
現在、All-In-One Eclipse 3.0.1(Eclipse 3.2.0 WTP 1.5.0)上で Struts 1.2 の開発環境を構築しています。 All-In-One Eclipseを使用するのは、今回が初めてなのですが、 <bean:define>タグで指定したID名(変数名)をJSPで使用しようとすると、 「xxxxx を解決できません。」というエラーが表示されます。 ※エディタ上は上記のエラーが表示されるのですが、実行は問題なく動作します。 例)hogehoge.jsp <bean:define id='hogehoge' name='HogehogeForm' property='hogehoge' type='java.lang.String'/> <%=hogehoge%> ↑ ここでエラー(「hogehoge を解決できません。」)表示されます。 エディタ上はエラー表示されていても実行は問題ないので、<bean:define>タグの使い方は間違いないと思うのですが、エラー表示は気持ち悪いです。 このエラーを表示させないようにするには、何か設定が必要なのでしょうか? ご存知の方がいらっしゃいましたら、お願い致します。 環境 Windows 2000 Professional SP4 JDK1.4.2 Tomcat 5.0.30 Struts 1.2.7 All-In-One Eclipse 3.0.1(Eclipse 3.2.0 WTP 1.5.0) [ メッセージ編集済み 編集者: rice 編集日時 2007-04-23 14:29 ] | ||||
|
投稿日時: 2007-04-23 14:33
<% ... %>はスクリプトレットであって、カスタムタグじゃないです。 <bean:write>を使いましょう。 エディタで警告が出て、実行時に問題が無いというのは、 エディタ上のチェックでは、hogehogeの定義がないからです。 実行時に問題がないのは、JSPがコンパイルされると、 <bean:define>の宣言から、hogehogeの定義が現れるからです。 | ||||
|
投稿日時: 2007-04-23 15:26
Edosson様、早速の返信、ありがとうございます。
ご指摘のとおり、例)として記述した内容の場合、 <bean:write>タグを使用することが望ましいと思うのですが、 実際は、name='HogehogeForm' property='hogehoge' の値を JSPスクリプト上で処理(例えば、文字列切り取ったりなどの加工)して 表示させたりする為、<bean:define>タグを利用したいのです。 ※タイトルや 例)として挙げた内容が曖昧で、Edosson様にお時間を取らせてしまい、 申し訳ございませんでした。 今までは、WTP は利用していなかった(Tomcat Plug-In + HTMLEditerを利用していた)為、JSPエディタ上でエラーの表示などはされていなかったのですが、 今回は社内の開発環境をある程度統一させる為、WTP を利用することになりました。 JSPエディタ上の警告は表示させない等の設定はないのでしょうか。 また、他に方法があれば、ご教授の程よろしくお願い申し上げます。 | ||||
|
投稿日時: 2007-04-23 16:17
個人的には、無視すればいいじゃん、と思うのですけど。
<% String hogehoge = null %> とか、追加すれば? ただし、スクリプトレットの定義とカスタムタグの定義がかぶると どうなるのかは、私は知らないです。 加工後と加工前で別の変数を使えば済むことですが。 <追記> 変数名がかぶると、実行時に、 「同じ変数を2回も宣言すんな」って蹴られそうですね。 </追記> [ メッセージ編集済み 編集者: Edosson 編集日時 2007-04-23 16:26 ] | ||||
|
投稿日時: 2007-04-23 16:55
プロジェクトのプロパティを表示して
妥当性検査の「JSP構文バリデーター」のチェックをはずすと、 警告が表示されなくなりませんか? | ||||
|
投稿日時: 2007-04-23 17:21
Edosson様、yos様、返信ありがとうございます。
Edosson様 私も、当初は無視をしていたのですが、エラーの件数が増えると、 「問題ビュー」に沢山エラーがでて、肝心のJAVAソースのエラーが わかりにくいという問題が発生した為、今回、質問させていただきました。 また、ご指摘のとおり、宣言を別途追加して試してみましたが、 やはり、実行時に同一変数名の多重宣言でエラーが出ました・・・ yos様 ご指摘のとおり、妥当性検査の「JSP構文バリデーター」のチェックをはずすと エラー表示が消えました。本当に難儀していたので、助かりました。 ありがとうございました。 Edosson様、yos様、いろいろ教えていただき、ありがとうございました。 |
1