2012-12-07 48 views
0

我有一個apache點擊頁面,其中包含一個帶有操作鏈接和複選框的表格表格。表格也有paginator。一旦用戶通過選擇複選框從表中選擇一些條目,他可以通過選擇表單上的提交按鈕來執行操作。但是當用戶從一個表格頁面移動到另一個表格頁面時,複選框不會保留它們的狀態。我嘗試在靜態數組列表中保存選定的條目,但它沒有被填充。保存表格apache中的複選框狀態單擊

回答

0

Click是一個無狀態的框架。引用the documentation

控制狀態不會通過單擊保存並自動恢復。 相反,狀態保存和恢復完全由 開發者通過公共API控制。

正如您從Stateful接口的文檔中看到的,幾個控件實現了該合同並使用"Search Table Page" example作爲參考,您可以實現您的用例。

H個,

吉爾伯託

0

嘗試以下步驟:
1.使Java頁面上的隱藏字段。將其添加到表單中。
2.每個複選框的onclick使用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(); 

}