messagejsp.java

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

JAVA
215
字号
/* 
 * Created on 2007-5-1
 * Last modified on 2007-11-9
 * 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.club.param.MessageParameter;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.message.MessageBlacklistService;
import com.yeqiangwei.club.service.message.MessageService;
import com.yeqiangwei.club.model.MessageBlacklist;
import com.yeqiangwei.club.model.Message;
import com.yeqiangwei.club.model.User;
import com.yeqiangwei.club.service.user.UserLogin;
import com.yeqiangwei.club.service.user.UserService;
import com.yeqiangwei.club.util.BeanLocator;
import com.yeqiangwei.club.util.BeanUtils;
import com.yeqiangwei.club.util.MessageUtils;
import com.yeqiangwei.club.controller.form.MessageForm;
import com.yeqiangwei.club.exception.ClubException;
import com.yeqiangwei.club.view.model.MessageBlacklistView;
import com.yeqiangwei.club.view.model.MessageView;
import com.yeqiangwei.html.OutPrint;
import com.yeqiangwei.util.HttpServletUtils;
import com.yeqiangwei.util.ParamUtils;
import com.yeqiangwei.util.Validator;

public class MessageJsp extends BaseJsp{
	
	private String pagination = "";
	
	private int replyId = 0;

	public int getReplyId() {
		return replyId;
	}

	public MessageJsp(HttpServletRequest request, HttpServletResponse response) {
		super(request, response);
		replyId = ParamUtils.getIntParameter(request,"replyId");
	}
	
	public MessageForm getMessageForm(){
		MessageForm messageForm = (MessageForm)request.getAttribute("MessageForm");
		if(com.yeqiangwei.util.Validator.isEmpty(messageForm)){
			messageForm = new com.yeqiangwei.club.controller.form.MessageForm();
			int userIdOfTake = ParamUtils.getIntParameter(request,"userIdOfTake",0);
			if(userIdOfTake>0){
				User user = this.getUserService().findById(userIdOfTake);
				if(!Validator.isEmpty(user)){
					messageForm.setUserNameOfTake(user.getUserName());
					messageForm.setUserIdOfTake(userIdOfTake);
					messageForm.setUserNames(user.getUserName());
				}
			}
		}
		return messageForm;		
	}
	
	public List<MessageBlacklistView> findBlacklistByParameter(){
		int page = ParamUtils.getIntParameter(request,"page",1);
		int rows = 20;
		int myUserId = UserLogin.getUserId(request);
		MessageParameter param = new MessageParameter();
		param.setMyUserId(myUserId);
		param.setPage(page);
		param.setRows(rows);
		
		List<MessageBlacklist> list = this.getMessageBlacklistService().findByParameter(param);
		List<MessageBlacklistView> vlist = BeanUtils.copyList(list,BeanLocator.MESSAGEBLACKLISTVIEW);
		long total = this.getMessageBlacklistService().countByParameter(param);
		
		StringBuffer url = new StringBuffer();
		url.append("message.jsp");
		url.append("?act=");
		url.append(ParamUtils.getStringParameter(request,"act","blacklist"));
		url.append("&page=");
		this.setPagination(OutPrint.pagination(page, rows, total, url.toString(),5));
		return vlist;
	}
	
	public MessageView findOnly(){
		MessageParameter param = new MessageParameter();
		int takeId = ParamUtils.getIntParameter(request,"takeId",0);
		int sendId = ParamUtils.getIntParameter(request,"sendId",0);
		String act = "take";
		if(sendId>0){
			act = "send";
			param.setSendId(sendId);
		}else{
			param.setTakeId(takeId);
		}
		param.setAct(act);
		MessageView view = new MessageView();
		Message model = this.getMessageService().findOnlyByParameter(param);
		BeanUtils.copyProperties(view,model);
		return view;
	}
	
	public long countNewMessage(){
		return this.getMessageService().countNewMessage(UserLogin.getUserId(request));
	}
	
	public List<MessageView> listMessage(){
		MessageParameter param = new MessageParameter();
		int takeId = ParamUtils.getIntParameter(request,"takeId",0);
		int sendId = ParamUtils.getIntParameter(request,"sendId",0);
		Message messageModel = null;
		int myUserId = UserLogin.getUserId(request);
		/*if(replyId>0){
			param.setAct("take");
			param.setReplyId(new Integer(replyId));
			messageModel = this.getMessageService().getTake(takeId);
			if(Validator.isEmpty(messageModel)||messageModel.getUserIdOfTake()!=myUserId){
				request.setAttribute("message",MessageUtils.getMessage("error_browse"));
				HttpServletUtils.forward(request,response,"/club/msg.jsp");
				return null;
			}
		}else{*/
			if(sendId>0){
				param.setAct("send");
				param.setSendId(sendId);
				messageModel = this.getMessageService().getSend(sendId);
				if(Validator.isEmpty(messageModel)||messageModel.getUserIdOfSend()!=myUserId){
					request.setAttribute("message",MessageUtils.getMessage("error_browse"));
					HttpServletUtils.forward(request,response,"/club/msg.jsp");
					return null;
				}
			}else{
				param.setAct("take");
				param.setTakeId(takeId);
				if(replyId>0){
					param.setReplyId(new Integer(replyId));
				}
				messageModel = this.getMessageService().getTake(takeId);
				if(Validator.isEmpty(messageModel)||messageModel.getUserIdOfTake()!=myUserId){
					request.setAttribute("message",MessageUtils.getMessage("error_browse"));
					HttpServletUtils.forward(request,response,"/club/msg.jsp");
					return null;
				}
			}
		/*}*/
		param.setOrderBy((byte)1);
		param.setPage(1);
		param.setRows(100);
		List<Message> mlist = this.getMessageService().findByParameter(param);
		List<MessageView> list = new java.util.ArrayList<MessageView>(); //BeanUtils.<Message,MessageView>copyList(mlist,BeanLocator.MESSAGEVIEW);
		for(int i=0; i<mlist.size(); i++){
			Message model = mlist.get(i);
			MessageView view = new MessageView();
			BeanUtils.copyProperties(view,model);
			if(!model.getIsOpened()&&param.getAct().equals("take")&&model.getUserIdOfTake()==myUserId){
				model.setIsOpened(true); //标记已读
				try {
					this.getMessageService().update_isOpened(model);
				} catch (ClubException e) {
					
				}
			}
			list.add(view);	
		}
		return list;
	}
		
	public List<MessageView> findByParameter(){
		int page = ParamUtils.getIntParameter(request,"page",1);
		int myUserId = UserLogin.getUserId(request);
		int rows = UserLogin.getUserSettings(request).getMessageRows(); //获取用户个性化设置每页显示的短消息数量
		String act = ParamUtils.getStringParameter(request,"act","take");
		MessageParameter param = new MessageParameter();
		param.setAct(act);
		param.setMyUserId(myUserId);
		param.setPage(page);
		param.setRows(rows);
		param.setOrderBy((byte)0);
		List<Message> list = this.getMessageService().findByParameter(param);
		List<MessageView> vlist = BeanUtils.copyList(list,BeanLocator.MESSAGEVIEW);
		long total = this.getMessageService().countByParameter(param);
		StringBuffer url = new StringBuffer();
		url.append("message.jsp");
		url.append("?act=");
		url.append(ParamUtils.getStringParameter(request,"act","take"));
		url.append("&page=");
		this.setPagination(OutPrint.pagination(page, rows, total, url.toString(),5));
		return vlist;
	}

	public MessageService getMessageService() {
		return ServiceWrapper.<MessageService>getSingletonInstance(ServiceLocator.MESSAGE);
	}
	
	public MessageBlacklistService getMessageBlacklistService() {
		return ServiceWrapper.<MessageBlacklistService>getSingletonInstance(ServiceLocator.MESSAGEBLACKLIST);
	}
	
	public UserService getUserService() {
		return ServiceWrapper.<UserService>getSingletonInstance(ServiceLocator.USER);
	}
	
	public String getPagination() {
		return pagination;
	}

	public void setPagination(String pagination) {
		this.pagination = pagination;
	}
}

⌨️ 快捷键说明

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