- - PR -
struts タグを用いて変数へ保持する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-21 16:42
お世話になります。
strutsのlogicタグにてわからない点があるのですが 以下のように サーバー側で // list -> java.util.List request.setAttribute("fruitsList", list); とセットしたものを画面に出力しています。 その際 bean:write にて出力しているidとnameは 正しく取得できていることができました。 問題点ですが、 取得したidとnameを使用し html:linkからURLを作成したく <html:link href="hoge.do?hoge_id=※1">※2</html:link> といった記述でく※1、※2の個所に変数としてbean:writeで 出力しているデータを使用したいのですが String strId = id; String strName = name; のように変数に格納する手段がわかりません。 bean:parameter を使用し取得できるかと思いましたが no-nameが出力されてしまいます。 こういった処理を行う場合どのようにするのが 望ましいのでしょうか?
| ||||
|
投稿日時: 2006-04-21 16:59
hiddenにpropertyを入れておいたらどうでしょうか。
iterateにINDEXキーは別に必要ないかもしれませんが、 回っているのでINDEXを保持しておくと便利かもしれません。
こんな感じで、どうでしょうか。 質問の意図と違っていたらすみません。 [ メッセージ編集済み 編集者: Lizua 編集日時 2006-04-21 16:59 ] [ メッセージ編集済み 編集者: Lizua 編集日時 2006-04-21 17:06 ] | ||||
|
投稿日時: 2006-04-21 17:16
String xxxと宣言しているということは、 スクリプトレット内で使用したいということでしょうか? <bean:define>でダメですかね? | ||||
|
投稿日時: 2006-04-21 17:40
Lizuaさん、焼きそばさん 返答ありがとうございます。
日本語わかりにくかったようで申し訳ありません 当初考えていたのはスクリプトレット内での使用になりますが hidden、defineどちらでも行えるようですね。 この場合hiddenにセットした際は、Javascpritにてlink のhref属性を作成 defineの場合は そのまま連結できそうです。 とりあえず当初の考えとおりスクリプトレットで行ってみたい と考えていますが // @ <bean:define id="hoge1" name="fruits" property="id" type="FruitListBean" toScope="request" /> <html:link href="hoge.do=?hoge_id='<%= hoge1 %>'" >aa</html:link> 色々と試していたのですがどうにもうまくとれません @ 変数hoge1へFruitListBean型にて idを設定すると思っていたのですが ど値がセットされません。 参考書片手に属性を設定しながら動作確認してますが Iterator内でdefineを使用する場合どのようにすればよろしいのでしょうか? [ メッセージ編集済み 編集者: n.w 編集日時 2006-04-21 17:40 ] | ||||
|
投稿日時: 2006-04-21 17:46
無事解決することができました
<html:link href="hoge.do?hoge_id=<%= fruits.getId(); %>" >aa</html:link> としたところ 値が反映されていました。 一度変数へ格納する必要あるかとおもっていましたがIteratorで 指定したfruitsがそのまま使えることができました。 ありがとうございました | ||||
|
投稿日時: 2006-04-21 18:45
inaです。
以下の様にした方が良いと思いますが、如何でしょうか? <html:link action="hoge" paramId="hoge_id" paramName="fruis" paramProperty="id">aa</html:link> | ||||
|
投稿日時: 2006-04-21 18:55
inaさんありがとうございます。
実は先ほどできたと思っていたスクリプトレットを埋め込む形の 場合ソース表示すると<%= fruits.getId(); %>と文字列として 表示されてしまい、<A href〜の形にしてしまっていたので 教えていただいた方法ですっきり書くことができました。
|
1