国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用ThreadLocal結(jié)合struts2的攔截器實現(xiàn)分頁
1、定義PageModel類
Xml代碼 
public class PageModel {
private int total;
private List datas;
private int pageSize;
private int offset;
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getOffset() {
return offset;
}
public void setOffset(int offset) {
this.offset = offset;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List getDatas() {
return datas;
}
public void setDatas(List datas) {
this.datas = datas;
}
}
2、定義ThreadLocal類
Java代碼 
public class MyThreadLocal {
private static ThreadLocal tl = new ThreadLocal();
public static void setValue(PageModel pm) {
tl.set(pm);
}
public static PageModel getValue() {
PageModel pm = (PageModel) tl.get();
if(pm == null) {
pm = new PageModel();
}
return pm;
}
public static  void remove() {
tl.remove();
}
}
3、定義我們自己的攔截器
Java代碼 
public class PageModelInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invoke) throws Exception {
int offset = 0;
try {
offset = Integer.parseInt(ServletActionContext.getRequest()
.getParameter("pager.offset"));
} catch (NumberFormatException e) {
}
int pageSize = 5;
PageModel pm = MyThreadLocal.getValue();
pm.setOffset(offset<0 ? 0 : offset);
pm.setPageSize(pageSize<0 ? Integer.MAX_VALUE : pageSize);
//將pagemodel中相關(guān)的分頁數(shù)據(jù)設(shè)置好之后放到Threadlocal中
//在后臺進行查詢的時候從ThreadLocal中取出PageModel對象然后使用分頁數(shù)據(jù)即可。
MyThreadLocal.setValue(pm);
try {
return invoke.invoke();
}finally {
//注意等到整個攔截器執(zhí)行完成即一個ThreadLocal完成它的工作后要清除里面的內(nèi)容
MyThreadLocal.remove();
}
}
}
4、在struts.xml配置文件中加入我們的攔截器
Xml代碼 
<interceptors>
<!--定義攔截器 -->
<interceptor name="pageModelInterceptor" class="com.bjsxt.oa.util.PageModelInterceptor"/>
<interceptor-stack name="myInterceptorStack">
<interceptor-ref name="exception"/>
<!--加入我們自己定義的攔截器,在攔截器中把分頁數(shù)據(jù)設(shè)置到ThreadLocal里然后再dao層取出用于分頁 -->
<interceptor-ref name="pageModelInterceptor"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="updatableInterceptor"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*,pager.offset</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myInterceptorStack"/>
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
分頁標(biāo)簽:pager
Sqlite數(shù)據(jù)分頁
Spring Data MongoDB 五:進階文檔查詢(分頁、Morphia)(二)
常用公共代碼二之分頁代碼的實現(xiàn)
Struts分頁總結(jié)
使用pager-taglib.jar實現(xiàn)的分頁技術(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服