📄 messageaction.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 + -