⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageaction.java

📁 基于hibernate,struts,spring三大框架的在线短信系统
💻 JAVA
字号:
package com.bjsxt.messages.web.actions;

import java.util.List;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import com.bjsxt.messages.MessageException;
import com.bjsxt.messages.managers.MessageManager;
import com.bjsxt.messages.managers.UserManager;
import com.bjsxt.messages.model.Message;
import com.bjsxt.messages.model.User;
import com.bjsxt.messages.web.forms.MessageActionForm;

public class MessageAction extends BaseAction {

	private UserManager userManager;
	private MessageManager messageManager;
	
	public void setMessageManager(MessageManager messageManager) {
		this.messageManager = messageManager;
	}

	public void setUserManager(UserManager userManager) {
		this.userManager = userManager;
	}

	//读取消息
	public ActionForward readMsg(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		MessageActionForm maf = (MessageActionForm)form;
		Message msg = messageManager.readMessage(maf.getId());
		request.setAttribute("msg",msg);
		return mapping.findForward("detail");
	}
	
	/**
	 * 查找所有接受的消息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward inbox(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		List<Message> msgs = messageManager.findAllReceiveMessages(currentUser(request).getId());
		request.setAttribute("msgs",msgs);
		
		request.getSession().setAttribute("current", "inbox");
		
		return mapping.findForward("inbox");
	}

	//发件箱
	public ActionForward outbox(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		List<Message> msgs = messageManager.findAllSendMessages(currentUser(request).getId());
		request.setAttribute("msgs",msgs);
		
		request.getSession().setAttribute("current", "outbox");
		
		return mapping.findForward("outbox");
	}
	
	//废件箱
	public ActionForward trash(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		List<Message> msgs = messageManager.findAllDeletedMessages((currentUser(request).getId()));
		request.setAttribute("msgs",msgs);
		
		request.getSession().setAttribute("current", "trash");
		
		return mapping.findForward("trash");
	}
	
	//恢复删除的内容
	public ActionForward restore(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		MessageActionForm maf = (MessageActionForm)form;
		
		messageManager.restoreMessage(maf.getId());
		
		return mapping.findForward("restore_success");
	}
	
	public ActionForward clear(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		messageManager.clearDeletedMessages(currentUser(request).getId());
		
		return mapping.findForward("restore_success");
	}
	
	//聊天记录
	public ActionForward record(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		request.getSession().setAttribute("current", "record");
		
		MessageActionForm maf = (MessageActionForm)form;
		
		int theotherId = maf.getTheotherId();
		
		if(theotherId == 0){
			
			List<User> users = userManager.findAll(currentUser(request).getId());
			
			request.setAttribute("users", users);
			
			//返回查询界面
			return mapping.findForward("record_input");
		}

		User user = userManager.findUserById(theotherId);
		request.setAttribute("user", user);
		
		List<Message> msgs = messageManager.findAllRecordMessages(currentUser(request).getId(),theotherId);
		request.setAttribute("msgs",msgs);
		
		
		
		return mapping.findForward("record");
	}
	
	//转向录入消息的页面
	public ActionForward inputMsg(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		List<User> users = userManager.findAll(currentUser(request).getId());
		
		request.setAttribute("users", users);
		
		return mapping.getInputForward();
	}
	
	
	/**
	 * 发送消息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward sendMsg(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		MessageActionForm maf = (MessageActionForm)form;
		
		try {
			//MessageManager.newInstance().sendMessage(maf.getSenderId(),maf.getReceiverId(),maf.getTitle(),maf.getContent());
			messageManager.sendMessage(maf.getSenderId(),maf.getIds(),maf.getTitle(),maf.getContent());
		} catch (MessageException e) {
//			e.printStackTrace();
			
			//异常处理
			ActionMessages messages = new ActionMessages();
			messages.add("error",new ActionMessage(e.getCode()));
			
			this.saveErrors(request,messages);
			
			return mapping.getInputForward();
		}
		
		//转到发件箱
		return outbox(mapping,form,request,response);
	}
	
	//删除消息
	public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		MessageActionForm maf = (MessageActionForm)form;
		
		messageManager.deleteMessage(maf.getId());
		
		if("inbox".equals(maf.getLoc())){
			return mapping.findForward("inbox_delete_success");
		}else if("outbox".equals(maf.getLoc())){
			return mapping.findForward("outbox_delete_success");
		}
		
		return mapping.findForward("main");
	}
}

⌨️ 快捷键说明

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