- PR -

を使用して次ページに値を渡したい

投稿者投稿内容
はな
会議室デビュー日: 2006/10/10
投稿数: 5
投稿日時: 2006-10-10 18:17
いつも参考にさせていただいています。

現在、検索結果の一覧を1ページずつダイレクトに移動できるように、

<< 1 | 2 | 3 | 4 >>

といった各ページへのリンクを作成したいと考えています。
クリックするページ番号が submit ボタンであれば実現できるのですが、
リンク<a href></a> 形式では実現できる方法が見出せず、お力添えいただきたく
投稿させていただきました。

submit ボタンの場合であれば以下のコードで実現できました。

<c:forEach var="pageno" begin="0" end="${maxpage}" step="1">
<html:form action="/showResult" type="xxxx.form.ResultForm" >
<input type="HIDDEN" name="rowpoint" value="<c:out value="${pageno * 20}"/>">
<input type="SUBMIT" value="<c:out value="${pageno+1}"/>">
</html:form>
</c:forEach>

<html:form>の場合は、<input type="HIDDEN".. >で、
次ページの行開始番号である rowpoint の値をResultFormに渡して次ページを
表示させるのですが、submitボタンでなく、<html:link>にすると、rowpointが
渡せません。

どのような方法がベストでしょうか。
検索すると、javascript で実現する方法があるようなのですが、正直いって
理解できませんでした。

質問の意図が不明であれば追加説明します。
お手数ですが、ご教授よろしくお願いします。
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2006-10-10 18:28
リンクは
<a href="xxx" onClick="yyy()">2</a>として、
yyy()のjavascript内でsubmitをすればokです。
ゴングラッチェ
常連さん
会議室デビュー日: 2006/03/03
投稿数: 36
投稿日時: 2006-10-10 18:41
リンクは
<a href="xxx" onClick="yyy(pageno)"></a>として、
yyy(x)のjavascript内で、HIDDENパラメータの値にpageをx代入してsubmitをすればokです。
JavaScriptはこの場合、Submit時に送信するHIDDENパラメータの値を変更するために使います。ちたみに"<input type="SUBMIT" value="<c:out value="${pageno+1}"/>"> "
の"value=..."はいらなくなります。

[ メッセージ編集済み 編集者: ゴングラッチェ 編集日時 2006-10-10 18:42 ]
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-10-10 18:48
HIDDENパラメータでないとまずいのですか? 普通にリンクパラメータとして渡せば
いいように思うのですが。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2006-10-10 18:52
引用:

はなさんの書き込み (2006-10-10 18:17) より:
現在、検索結果の一覧を1ページずつダイレクトに移動できるように、

<< 1 | 2 | 3 | 4 >>

といった各ページへのリンクを作成したいと考えています。



素直にパラメータで渡しちゃあかんの?
コード:
<a href="hoge?page=1">1</a> | <a href="hoge?page=2">2</a> ...


ってな感じで。
はな
会議室デビュー日: 2006/10/10
投稿数: 5
投稿日時: 2006-10-10 18:56
KOX様
ゴングラッチェ様
uk様
かずくん様

早速の返信ありがとうございます!!
皆様の回答をふまえて考えさせていただきます。
また更新させていただきますので、今しばらくお時間ください。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2006-10-10 18:59
引用:

かずくんさんの書き込み (2006-10-10 18:52) より:
引用:

はなさんの書き込み (2006-10-10 18:17) より:
現在、検索結果の一覧を1ページずつダイレクトに移動できるように、

<< 1 | 2 | 3 | 4 >>

といった各ページへのリンクを作成したいと考えています。



素直にパラメータで渡しちゃあかんの?
コード:
<a href="hoge?page=1">1</a> | <a href="hoge?page=2">2</a> ...


ってな感じで。



るぱんです。

<< 1 | 2 | 3 | 4 >>
出すときって、検索条件をどうするかに依存するんじゃないでしょうか?
見当違いかなぁ?

個人的には、検索条件なんぞセッションに入れて管理したくないんですが。汗
_________________
ゴングラッチェ
常連さん
会議室デビュー日: 2006/03/03
投稿数: 36
投稿日時: 2006-10-10 19:01
SUBMIT、つまりPOSTメソッドでの送信は登録を意味します。
リンクパラメータ、つまりGETメソッドでの取得は表示を意味します。
ukさんと同じくリンクパラメータとして渡すのが普通ではないかと思います。
<a href="xxx?pageno=x"><a>

1ページずつダイレクトに移動することの意味が単純に移動することでは
なく条件による再検索をさせる意味を持つのであればPOSTメソッドを使う
ことはあります。
また、GETメソッドを使うとアドレスバーにURLにパラメータが表示されます。
ユーザIDなんかが表示されることを嫌ってあえてPOSTで送ることもあります。

結局、ベストな方法は要件による・・・と。

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