アクションリンクとチェックボックスを含むフォームテーブルを持つApacheクリックページがあります。テーブルにはページネーターもあります。ユーザーがチェックボックスを選択してテーブルからいくつかのエントリを選択すると、フォームの送信ボタンを選択して操作を実行できます。ただし、ユーザーがあるテーブル ページから別のテーブル ページに移動すると、チェックボックスの状態が保持されません。選択したエントリを static arraylist に保存しようとしましたが、データが取り込まれていません。
2 に答える
次の手順を試してください
。 1. Java ページに隠しフィールドを作成します。フォームに追加します。
2. すべてのチェックボックスをオンクリックすると、javascript 関数を使用して hiddenfield の値が設定されます。
3.ダミーの非表示の送信を使用して、htmページにダミーのフォームを追加します。お気に入り
<form name="dummyForm" action="" method="POST" >
<input type="hidden" name="dummyHiddenCBSelected" value="" />
</form>
4. Java ページ テーブル ページング リンクで、JavaScript 関数を呼び出して、上記のダミー フォームを送信します。例: table.getControlLink().setAttribute("onclick", "tableAction(this); return false;");
そして次のようなJavaScript関数:
function tableAction(_anchorObj) {
var linkHref;
linkHref = _anchorObj.getAttribute("href");
//Set the value in hidden field
var hiddenCBSelected = document.getElementById('your hiddenfield');
document.getElementsByName("dummyHiddenCBSelected")[0].value = hiddenCBSelected.value;
//Set the form href and submit form
document.getElementsByName('dummyForm')[0].action = linkHref;
document.getElementsByName('dummyForm')[0].submit();
}
Click はステートレス フレームワークです。ドキュメントの引用:
コントロールの状態は、クリックによって自動的に保存および復元されません。代わりに、状態の保存と復元は、パブリック API を介して開発者が完全に制御できます。
ステートフル インターフェースのドキュメントからわかるように、いくつかのコントロールはそのコントラクトを実装し、「検索テーブル ページ」の例をリファレンスとして使用して、ユース ケースを実装できます。
H番目、
ジルベルト