usertopjsp.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 106 行

JAVA
106
字号
/* 
 * Created on 2007-11-22
 * Last modified on 2007-11-22
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.view.jsp;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.yeqiangwei.cache.Cache;
import com.yeqiangwei.club.cache.CacheRegion;
import com.yeqiangwei.cache.singleton.CacheFactory;
import com.yeqiangwei.club.model.User;
import com.yeqiangwei.club.param.UserParameter;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.user.UserService;
import com.yeqiangwei.club.util.BeanLocator;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.view.model.UserView;
import com.yeqiangwei.util.FormatDateTime;
import com.yeqiangwei.util.ParamUtils;

public class UserTopJsp extends BaseJsp{
	
	private static final Cache CACHE_USER = CacheFactory.creator(CacheRegion.USER_TOP);
	
	private String title;
	
	private int page = 1;
	
	private byte orderBy = 0;
	
	private static long TIMED_OUT = 0;

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public byte getOrderBy() {
		return orderBy;
	}


	public void setOrderBy(byte orderBy) {
		this.orderBy = orderBy;
	}
	
	private long getTimeOut(){
		String temp = FormatDateTime.dateAdd(FormatDateTime.SECOND,6000,"yyyyMMddHHmmss");
		return FormatDateTime.formatDateTimeToLong(temp);
	}

	public UserTopJsp(HttpServletRequest request, HttpServletResponse response) {
		super(request, response);
		orderBy = ParamUtils.getByteParameter(request, "orderBy", (byte)9);
		if(orderBy==9){
			this.setTitle("火爆人气榜");
		}
		else if(orderBy==4){
			this.setTitle("积分榜");
		}
		else if(orderBy==6){
			this.setTitle("财富榜");
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<UserView> findTop(int rows){
		String key = "USER_TOP:orderBy="+orderBy+",rows="+rows;
		List<UserView> vlist = (List<UserView>) CACHE_USER.get(key);
		if(vlist==null||TIMED_OUT<FormatDateTime.now()){
			TIMED_OUT = this.getTimeOut();
			UserParameter param = new UserParameter();
			param.setPage(page);
			param.setRows(rows);
			param.setOrderBy(new Byte(orderBy));
			List<User> list = this.getUserService().findByParameter(param);
			vlist = BeanUtils.copyList(list,BeanLocator.USERVIEW);
			CACHE_USER.put(key,vlist);
		}
		return vlist;
	}

	private UserService getUserService() {
		return ServiceWrapper.<UserService>getSingletonInstance(ServiceLocator.USER);
	}

	public String getTitle() {

		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?