- PR -

html:linkについて

投稿者投稿内容
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-29 18:19
struts1.2で開発しています

html:linkでダイナアクションフォームのフィールドを
持ちまわりたいのですが、
<html:link .... name="フォーム名"
こういう指定はできなのでしょうか

項目が多いため、propertyをひとつひとつ書くのは大変な作業になりますので
よろしく教授ください
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-09-29 21:52
送信したフォームの値?入力したフォームの値?どっち?
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-30 00:20
ありすさん

送信したフォームの値になります

<form-bean
  name="aaaForm"
  type="org.apache.struts.validator.DynaValidatorForm" >
   <form-property
     name="map"
     type="java.util.LinkedHashMap" />
   <form-property
     name="aaa"
     type="java.lang.String" />
   <form-property
     name="bbb"
     type="java.lang.String" />
</form-bean>


<html:link .... name="aaaForm"

こういう指定をすると、エラーになってしまいます

よろしくご教授ください




かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-30 03:40
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41073&forum=12&2
より引用します。
引用:

html:linkタグのURLパラメータには、java.util.Mapを渡すのが楽です。

http://www.techscore.com/tech/ApacheJakarta/Struts/7-3.html
こちらが参考になると思います。



実際にhtml:linkタグ及び内部で利用されているTagUtilsのコードを読む限り、
Map型じゃないとダメだと思います。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-09-30 08:18
Form クラス内部にlink パラメーターが存在しててそれを動的にリンクを切り替えたいということですか?
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-30 12:42
ありすさん、かつのりさん、ご教授ありがとうございます

やりたいことは、
A画面で入力された値をhtml:linkでパラメータとして設定したいということです
(動的にリンクを切り替えるという言い方になるかもしれませn)

すいません
送信したフォームの値というのは間違いでした

form-beanの書き方が分かりません

ダイナアクションフォームの場合
type="java.util.LinkedHashMap
   ↓
type="java.util.Map

これでも、エラーになります

よろしくご教授ください
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-30 15:16
リンク先読みました?
<html:link name="ここにはMap型のインスタンスを指定">aaaa</html:link>
という感じで指定しないと使えないのでは?ということです。

アクション内のコードは以下のようにして、
コード:
DynaValidatorForm form1 = (DynaValidatorForm)form;
Map map = new HashMap();
map.put("foo", form1.get("foo"));
map.put("bar", form1.get("bar"));
map.put("buzz", form1.get("buzz"));
request.setAttribute("map", map);


JSPでは、
コード:
<html:link acion="/foo" name="map">aaaa</html:link>


でできませんか?
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-09-30 16:04
http://www.jajakarta.org/tomcat/servletapi/servletapi-4.0/docs/javax/servlet/http/HttpServletRequest.html#getQueryString()

すべての項目を取得するには上記メソッドかな・・
確認してないからGET専用かもしれませんが。

スキルアップ/キャリアアップ(JOB@IT)