如何在struts2操作类中发送或捕获dataTable 1.10参数
我有一个web应用程序,其中我使用DataTable1.10版来显示记录和分页。我是DataTable的新手。我发现很难捕获数据表搜索框中的搜索字符串、排序操作、iTotalRecords、iTotalDisplayRecords、iDisplayLength等参数 我正在为我的web应用程序使用struts2。我已经启用了如何在struts2操作类中发送或捕获dataTable 1.10参数,struts2,datatables,Struts2,Datatables,我有一个web应用程序,其中我使用DataTable1.10版来显示记录和分页。我是DataTable的新手。我发现很难捕获数据表搜索框中的搜索字符串、排序操作、iTotalRecords、iTotalDisplayRecords、iDisplayLength等参数 我正在为我的web应用程序使用struts2。我已经启用了bServerSide=true并调用“sAjaxSource”:“分页操作”。记录私有列表数据正在jsp页面中填充。但是,我发现很难捕获上面指定的其他参数。输入的字符串指向
bServerSide=true代码>并调用“sAjaxSource”:“分页操作”
。记录私有列表数据代码>正在jsp页面中填充。但是,我发现很难捕获上面指定的其他参数。输入的字符串指向哪个action类的变量。?我有一个变量私有字符串搜索代码>在我的操作类中,我希望搜索框字符串应该被分配到该类
请帮我看看这个。我是否需要将datatable1.10版本的jar文件添加到我的项目中(我不确定是否有jar)
以下是我的JQuery代码:
var oTable=$(".IncomeTable").dataTable({
"paging":true,
"searching": true,
"bProcessing" : true,
"bServerSide" : true,
"bJQueryUI" : true,
"info":true,
"bAutoWidth": false,
"iDisplayLength": 10,
"aLengthMenu": [[10, 15], [10, 15]],
"sPaginationType" : "full_numbers",
"ajax" : "PaginationAction",
"aoColumns": [
{"mData":"description","bSearchable": true,"bSortable": true},
{"mData":"catergory.userCodeName","bSearchable": false,"bSortable": false},
{"mData":"payee.payeeName","bSearchable": false,"bSortable": false},
{"mData":"transactionDate","bSearchable": false,"bSortable": false},
{"mData":"amount","sWidth":"30px","bSearchable": false,"bSortable": false}]
});
操作类变量:
private int iTotalRecords;
private int iTotalDisplayRecords;
private int iDisplayLength;
private String sEcho;
private String sColumns;
private String sSearch;
private String search;
private String sKeyword;
private List<Income> aaData;
private-into-talrecords;
私人国际贸易记录;
私有内部显示长度;
私人字符串sEcho;
私有字符串sColumns;
私人字符串搜索;
私有字符串搜索;
私人串绞字;
私人名单数据;
注意:所有的整数值都是“0
”,字符串变量是null
经过几天的谷歌搜索,我对以上文章的结论版本如下
结论:Strut2不会自动将datatable属性的值填充到action类的属性中。但是从jsp页面发送的dataTable属性可以使用HttpServletRequest对象捕获。请参阅下面的代码
HttpServletRequest request=ServletActionContext.getRequest();
String searchFilterString=request.getParameter("search[value]");
// here String 'search[value]' is the parameter name sent by datatable
是指向从datatables发送到服务器的参数列表以及从服务器发送到datatable的参数列表的链接
下面是一段java代码,我用它来修剪列表以支持我的datatable记录
int fromIndex=0,toIndex=0;
int length=Integer.parserInt(request.getParamter("length");
int start=Integer.parserInt(request.getParamter("start");
int iDisplayLength=Integer.parserInt(request.getParamter("iDisplayLenght");
if(length>0)
{
fromIndex=(int)(Math.ceil((start+1)/lenght)*length);
toIndex=fromIndex+length;
}
else
{
fromIndex=(int)(Math.ceil((start+1)/iDisplayLength)*iDisplayLength);
toIndex=fromIndex+iDisplayLength;
}
if(toIndex>getAaData().size())
{
toIndex=getAaData().size();
}
setAaData(getAaData().subList(fromIndex,toIndex));
如果有人对以上帖子和我的答案有任何疑问,请告诉我。我没有对上述JQuery代码做任何更改
非常感谢对上述职位的任何更正和建议
注意:如果您在jquery代码中使用sAjaxSource
而不是ajax
,则会向服务器传递不同的参数。您可以在request
对象中了解datatable的参数。