- - PR -
2次元HashMapをJSPで表示
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-06 10:46
Lizuaさんお返事ありがとうございます。
2次元配列ではないときは、 <bean:write name="フォーム名" property="record(NAME)"/> と、表示していて、2次元にしたときにproperty=""の中に書く内容がわからず Java上では表示できたので、それをJSP上で引用しようと考えました。 最初からpropertyの書き方を聞くべきであったなと、反省してます。 宜しくお願いします。 | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 12:01
recordが宣言されている場所のimportはJSPでされていますか?
<%@ page import="--.--.---.--" %> ↑こんなのです。 フルパスです。 recordが宣言されていないというエラーなら、 もしかしたらこれで解決するのでは無いでしょうか? | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 12:15
Lizuaさんお返事ありがとうございます。
指摘して頂いた点ですが、recordを宣言してある場所は以下の場所にあります。 C:\Program Files\Apache Group\Tomcat 4.1\webapps\licenseManageSystem\WEB-INF\classes\licenseManageSystem そして以下のようなインポートをしています。 <%@ page import ="licenseManageSystem.*"%> これでも以前と同じエラーが出てしまいます(汗 自分でも調査中ですが、指摘部分がありましたらお願いします。 | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 12:48
こんにちは。
初心者なので、間違いなどありましたらご指摘下さい。 Mapの実装だったら
でいけないのでしょうか。 すみません、試してはいないので、これでできるとはいえないです。 | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 14:00
recordを宣言してある(recordのsetter getterが存在する)
ファイルのパッケージパスでimportしてみたらどうなります? <%@ page import="パッケージ" %> [ メッセージ編集済み 編集者: Lizua 編集日時 2006-06-06 14:02 ] | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 14:45
Lizuaさん、はちぃさん返信ありがとうございます。
<%@ page import ="licenseManageSystem.IchiranActionForm"%> 上記のようにインポートしました。 ですが、エラーは同じでした(滝汗 | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 15:59
まずタグライブラリを使わず、最初のスクリプトレットから解決していきましょう。
このrecord変数はどこで宣言されているのでしょうか。どうも、Actionフォームもしくは Actionクラスから自動的に渡されるものと思われているようですが、そういうものでは なく、明示的に渡す必要があります。スコープの概念は、後で勉強してもらうとして、 まず、Actionクラスで下のようにrecordオブジェクトをRequestオブジェクトの属性と して渡す必要があります。
JSP側では、これを受け取るために、useBeanタグを使います。
これで、上記のスクリプトレットを記述したJSPが実行できるはずです。 ただし、おそらく期待した内容にはならないでしょう。「同じことをしたい」のなら 最初のJavaコードと同じくSystem.out.printlnを実行すればいいですが、Webの画面に 出力したいのであれば、
と記述してみてください。 | ||||||||||||||||||||||||
|
投稿日時: 2006-06-06 16:28
ukさんお返事ありがとうございます。
Actionクラスに request.setAttribute("record", record); を JSPファイルに <jsp:usebean id="record" scope="request" class="java.util.Map" /> <%=((Map) record.get("1")).get("NAME")%> を、追加することによって求めていたデータが表示されました。 かなりの時間なやんでいたので、たった一つのデータが画面に表示されただけですが、 とても感動しました(泣 これも、返信いただいたみなさんおかげです、 貴重な時間を割いて返信頂きありがとうございましたm(__)m |