- - PR -
を使用して次ページに値を渡したい
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 で実現する方法があるようなのですが、正直いって 理解できませんでした。 質問の意図が不明であれば追加説明します。 お手数ですが、ご教授よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-10-10 18:28
リンクは
<a href="xxx" onClick="yyy()">2</a>として、 yyy()のjavascript内でsubmitをすればokです。 | ||||||||||||
|
投稿日時: 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 ] | ||||||||||||
|
投稿日時: 2006-10-10 18:48
HIDDENパラメータでないとまずいのですか? 普通にリンクパラメータとして渡せば
いいように思うのですが。 | ||||||||||||
|
投稿日時: 2006-10-10 18:52
素直にパラメータで渡しちゃあかんの?
ってな感じで。 | ||||||||||||
|
投稿日時: 2006-10-10 18:56
KOX様
ゴングラッチェ様 uk様 かずくん様 早速の返信ありがとうございます!! 皆様の回答をふまえて考えさせていただきます。 また更新させていただきますので、今しばらくお時間ください。 | ||||||||||||
|
投稿日時: 2006-10-10 18:59
るぱんです。 << 1 | 2 | 3 | 4 >> 出すときって、検索条件をどうするかに依存するんじゃないでしょうか? 見当違いかなぁ? 個人的には、検索条件なんぞセッションに入れて管理したくないんですが。汗 _________________ | ||||||||||||
|
投稿日時: 2006-10-10 19:01
SUBMIT、つまりPOSTメソッドでの送信は登録を意味します。
リンクパラメータ、つまりGETメソッドでの取得は表示を意味します。 ukさんと同じくリンクパラメータとして渡すのが普通ではないかと思います。 <a href="xxx?pageno=x"><a> 1ページずつダイレクトに移動することの意味が単純に移動することでは なく条件による再検索をさせる意味を持つのであればPOSTメソッドを使う ことはあります。 また、GETメソッドを使うとアドレスバーにURLにパラメータが表示されます。 ユーザIDなんかが表示されることを嫌ってあえてPOSTで送ることもあります。 結局、ベストな方法は要件による・・・と。 |