- PR -

strutsとAタグ

投稿者投稿内容
ろっぷす
会議室デビュー日: 2004/07/27
投稿数: 8
投稿日時: 2004-07-27 17:56
はじめまして。
struts-configのforwarsタグで指定した遷移先のURLに
requestパラメータを含めたいという事であれば私は
下記の方法で実現しています。

// struts-configのActionMappingから既存の遷移先の情報を取得
ActionForward defActionForward = mapping.findForward("listInit");
StringBuffer url = new StringBuffer();
url.append(defActionForward.getPath());
url.append("#");
url.append("日付");

// 既存の遷移先の情報を元に新しくActionForwardインスタンスを作成
ActionForward actForward = new ActionForward();
actForward.setName(defActionForward.getName());
actForward.setPath(url.toString());
actForward.setRedirect(defActionForward.getRedirect());

// 作成したインスタンスを返す
return actForward;
でくのぼう
大ベテラン
会議室デビュー日: 2003/10/06
投稿数: 162
投稿日時: 2004-07-27 18:25
あ、こんなリダイレクト方法があったんですね。
勉強になりました。
かつ
会議室デビュー日: 2004/07/26
投稿数: 5
投稿日時: 2004-07-28 09:45
できました!

ろっぷすさん
ありがとうございます。

ただ、requestパラメータにちょっと問題がでます。
---元のリダイレクト先
一覧.do?para1=xxx

---新しいリダイレクト先
一覧.do?para1=xxx#日付

で、一覧.javaで
request.getParameter("para1")="xxx#日付"
となってしまいます。これなら文字列操作でなんとかなるんですが、
struts-config内の<action>のparameterにpara1を指定しているので、

>url.append("#");
>url.append("日付");

の前に
url.append("&dummy=xx");
をつけました。なんかカッコ悪いですが動作します…
いろいろ勉強になりました。
みなさんありがとうございました。

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