usersetutils.java

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

JAVA
102
字号
/* 
 * Created on 2007-3-27
 * Last modified on 2007-04-30
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.view.util;

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

import org.apache.log4j.Logger;

import com.yeqiangwei.club.service.forum.ForumService;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.model.Forum;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.Validator;

public class UserSetUtils {
	
	private static final Logger logger = Logger.getLogger(UserSetUtils.class);
		
	public static final byte FORUM_STYLE = 1; //版面页面浏览风格
	
	public static final byte THREAD_STYLE = 2;//文章页面浏览风格
	
	/*
	 * 发表文章后返回的页面
	 * 0返回版面 1返回发表的文章
	 */
	public static final byte POSTED = 3; 
	
	public static final boolean POSTED_REMIND = true; //提醒
	
	
	public static String getForumStyleName(HttpServletRequest request){
		return "forumStyle_"+ParamUtils.getStringParameter(request,"forumId","0");
	}

	public static String getThreadStyleName(HttpServletRequest request){
		return "threadStyle_"+ParamUtils.getStringParameter(request,"forumId","0");
	}
	
	public static String find(HttpServletRequest request, int i){
		String str = null;
		switch(i){
			case FORUM_STYLE:
				str = ParamUtils.getCookieValue(request,getForumStyleName(request),null);
				if(Validator.isEmpty(str)){
					int forumId = ParamUtils.getIntAuto(request,"forumId");
					Forum m = UserSetUtils.getForumService().findById(forumId);
					if(!Validator.isEmpty(m)){
						str = String.valueOf(m.getStyle());
					}else{
						logger.warn("FORUM_STYLE not find Forum forumId="+forumId);
					}
				}
			break;
			case THREAD_STYLE:
				str = ParamUtils.getStringAttribute(request,getThreadStyleName(request), null);
				if(Validator.isEmpty(str)){
					str = ParamUtils.getCookieValue(request,getThreadStyleName(request),null);
					if(Validator.isEmpty(str)){
						int forumId = ParamUtils.getIntAuto(request,"forumId");
						Forum m = UserSetUtils.getForumService().findById(forumId);
						if(!Validator.isEmpty(m)){
							str = String.valueOf(m.getStyle());
						}else{
							logger.warn("THREAD_STYLE not find Forum:forumId="+forumId);
						}
					}
				}
			break;
			case 3:
				str = ParamUtils.getCookieValue(request,"rememberMyFirst","0");
			break;
		}
		return str;
	}
	
	public static void update(HttpServletRequest request
			, HttpServletResponse response, int i, String value)
	{
		switch(i){
			case 1:
				ParamUtils.setCookieValue(response,getForumStyleName(request),value,365);
			break;
			case 2:
				ParamUtils.setCookieValue(response,getThreadStyleName(request),value,365);
			break;
			case 3:
				ParamUtils.setCookieValue(response,"rememberMyFirst",value,365);
			break;
		}
	}
	
	public static ForumService getForumService() {
		return ServiceWrapper.<ForumService>getSingletonInstance(ServiceLocator.FORUM);
	}
}

⌨️ 快捷键说明

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