『壹』 easyui datagrid loadFilter怎麼條件過濾數據
給你一個我寫好的分頁方法:
functionpagerFilter(data){//分頁事件
if(typeofdata.length=='number'&&typeofdata.splice=='function'){ //isarray
data={
total:data.length,
rows:data
}
}
vardg=$(this);
varopts=dg.datagrid('options');
varpager=dg.datagrid('getPager');
pager.pagination({
onSelectPage:function(pageNum,pageSize){
dg.datagrid('loading');
setTimeout(function(){
opts.pageNumber=pageNum;
opts.pageSize=pageSize;
pager.pagination('refresh',{
pageNumber:pageNum,
pageSize:pageSize
});
dg.datagrid('loadData',data);
},1);
},
onChangePageSize:function(pageSize){
vardgID=dg.attr("id");
$.cookie(dgID,pageSize,{expires:365});
}
});
if(!data.originalRows){
data.originalRows=(data.rows);
}
if(!opts.remoteSort&&opts.sortName){
vartarget=this;
varnames=opts.sortName.split(',');
varorders=opts.sortOrder.split(',');
data.originalRows.sort(function(r1,r2){
varr=0;
for(vari=0;i<names.length;i++){
varsn=names[i];
varso=orders[i];
varcol=$(target).datagrid('getColumnOption',sn);
varsortFunc=col.sorter||function(a,b){
returna==b?0:(a>b?1:-1);
};
r=sortFunc(r1[sn],r2[sn])*(so=='asc'?1:-1);
if(r!=0){
returnr;
}
}
returnr;
});
}
varmaxPage=Math.ceil(data.originalRows.length/parseInt(opts.pageSize));
maxPage=maxPage==0?1:maxPage;
opts.pageNumber=maxPage<opts.pageNumber?maxPage:opts.pageNumber;
varstart=(opts.pageNumber-1)*parseInt(opts.pageSize);
varend=start+parseInt(opts.pageSize);
data.rows=(data.originalRows.slice(start,end));
returndata;
}
$("#grid").datagrid({
.....前面的屬性略
loadFilter:pagerFilter
});
其實吧,我覺得,反正我用的時候,所有的Grid都是需要這個分頁方法的。所以,我就直接把grid的默認值改掉。這樣,就不用每個grid都去綁定loadFilter了。
if($.fn.datagrid){
$.fn.datagrid.defaults.loadFilter=pagerFilter;//分頁事件
}
希望能幫到你。
『貳』 JSP中用filter 過濾某個包中的所有servlet
web.xml中這樣配置:
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.zq.servlet.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/servlet/Login</url-pattern>
</servlet-mapping>
或者不配置web.xml在servlet中寫註解:
@WebServlet("/servlet/Login")
配置fliter可以在web.xml中這樣寫:
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.zy.filter.UserLoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
或者不配置web.xml在filter中寫註解:
@WebFilter(filterName="/MyFilter",urlPatterns="/servlet/*")
即在所有想過濾的servlet名字前加上「/setvlet」在過濾的時候過濾路徑就可以寫成「/servlet/*」這樣就能過濾所有的Servlet。
『叄』 jsp中過濾器可以攔截請求和響應嗎
過濾器可以動態地攔截請求和響應,以變換或使用包含在請求或響應中的信息。