第一步:web页面中js实现将cookie保存到客户端
/*--------------------------------------------
* 将用户设置的分页显示行数保存到cookie中
* autor tongsl
* 2011-11-19
* param cookieName cookie的名称
* param callback 保存完cookie后的回调函数
--------------------------------------------*/
function setPageCountCookie(cookieName,callback){
var cookie = cookieName+ "=" + $("#pageCount").val();
var date=new Date();
date.setTime(date.getTime() + 30*24*3600*1000);//expires单位为天
cookie += ";expires=" + date.toGMTString();
//cookie += ";path=" + path;//指定可访问cookie的目录
//cookie += ";domain=" + domain;//指定可访问cookie的域
document.cookie = cookie;
callback;
}
第二步:在后台实现读取客户端(用户的机器)上保存的cookies
/**
* 获取分页显示行数
* @author tongsl
* @param key
* @param deFault
* @return
*/
public static int getPageCount(HttpServletRequest req,String cookiename,String deFault){
Cookie[] cookieList = req.getCookies();
int pageCount = Integer.valueOf(deFault);
if(cookieList != null){
for(Cookie cookie: cookieList){
if(cookiename.equals(cookie.getName())){
pageCount = Integer.valueOf(cookie.getValue());
break;
}
}
}
return pageCount;
}
/**
* 设置分页显示行数
* @author tongsl
* @param key
* @param pageCount
* @param deFault
*/
public static void setPageCount(HttpServletResponse resp,String cookiename,String pageCount,String deFault){
Cookie c = new Cookie(cookiename,isEmpty(pageCount)?deFault:pageCount.trim());
resp.addCookie(c);
}