こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストボックスで入力したデータを変数に入れてリンクで飛ばせる?

Struts + JSPで
DynaValidatorFormに格納した値を

<html:text property="id" size="10" maxlength="8" />
<html:text property="name" size="80" maxlength="50" />

こんな感じでhtml:textとかで取り出すと思いますが、
次画面に遷移する際、html:textにユーザーが入力した値を
変数に入れる方法ってないでしょうか?
リンクで画面遷移するときに値をもたせたいので
html:formではなく

くhtml:link action="/hoge?<% id %>&<% name %>..." />

こんな感じでやりたいのです。
良い方法はあるでしょうか?

投稿日時 - 2009-02-07 12:16:51

QNo.4696556

すぐに回答ほしいです

質問者が選んだベストアンサー

質問の意味を間違えてたみたいです。
すみません。

JavaScriptでどうとでもなりそうですが。。。

たとえばこんな感じとか。。。
<html>
<head>
<script language="JavaScript">
function jump() {
var id = document.form1.id.value;
var name = document.form1.name.value;
alert(id);
alert(name);
window.location.href="/hoge.do?id=" + id + "&name=" + name;
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="id"/>
<input type="text" name="name"/>
</form>
<a href="JavaScript:jump()">xxxxxxx</a>
</body>
</html>

これがJSPで生成できればいいのではないかと。

参考になれば幸いです。

投稿日時 - 2009-02-07 16:32:48

お礼

回答ありがとうございます。

なるほど!そうやればいけますね!
僕はJavaScriptでsubmitさせる方法しか出てきませんでした。

まだまだ修行が足りないようです。。。

投稿日時 - 2009-02-08 21:51:17

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

こんにちわ。
参考URLで<html:link/>について勉強してみてください。

あとは<bean:define/>タグでdefineして使うのも1つの方法かもしれませんね。
<bean:define id="id" name="form_name" property="id"/>
<a href="/hoge.do?id=<%=id%>&...">....</a>

更に<c:out value="${form_name.map.property_name}"/>も1つの方法。
<a href="/hoge.do?id=<c:out value="${form_name.map.id}"/>&...">....</a>

実際に試してないので動くかはわかりませんが、お試しあれ。

参考URL:http://struts.wasureppoi.com/taglib/03_link_param.html

投稿日時 - 2009-02-07 16:14:08

ANo.1

うーん
ためしに遷移先のJSPで
<%=request.getAttribute(id)%>
idはリクエストのid
で取れるか試してみてちょ。

投稿日時 - 2009-02-07 13:48:52

お礼

回答ありがとうございます。

次画面でgetAttributeしてリクエストを受け取る事はできるんです。
ただ動的に変わるテキストボックスの中身は「?」ではどうにもならんのです。
html:form以外でなんとかならないもんかと無茶苦茶な事考えてます。(汗

投稿日時 - 2009-02-08 21:40:27

あなたにオススメの質問