保存表单表中的复选框状态apache单击

时间:2012-12-07 09:39:17

标签: java click-framework

我有一个带有动作链接和复选框的表格表的apache点击页面。表也​​有分页器。一旦用户通过选择复选框从表中选择一些条目,他就可以通过选择表单上的提交按钮来执行操作。但是当用户从一个表页移动到另一个表页时,复选框不会保留其状态。我尝试在静态arraylist中保存选定的条目,但它没有填充。

2 个答案:

答案 0 :(得分:0)

Click是一个无状态框架。引用the documentation

  

Click不会自动保存和恢复控制状态。   相反,国家储蓄和恢复是完全控制的   开发人员通过公共API。

正如您在Stateful接口的doc中所看到的,有几个控件实现了该合同,并使用"Search Table Page" example作为参考,您可以实现您的用例。

H个,

吉尔伯托

答案 1 :(得分:0)

请尝试以下步骤:
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();

}