📄 acceptservlet.java
字号:
package cn.jx.ecjtu.oa.servlets.msg;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import cn.jx.ecjtu.oa.common.Constant;
import cn.jx.ecjtu.oa.ps.pojo.LoginUser;
import cn.jx.ecjtu.oa.ps.pojo.Message;
import cn.jx.ecjtu.oa.services.*;
public class AcceptServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public AcceptServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String sPage = request.getParameter("page");// 获取用户输入的要跳转的页数
String sId = request.getParameter("setread");// 获取要设置为已读的短信息的ID
UserInSession u = (UserInSession) session
.getAttribute(Constant.USER_IN_SESSION);// 从session中取得用户
if (u != null) {
int page = 1, id = 0;
int accId = u.getId();
request.setAttribute("accId", accId);
// int accId=1;
try {// 将取的参数转化为整型
if (sPage != null) {
page = Integer.parseInt(sPage);
}
} catch (Exception e) {// 异常
page = 1;
}
try {// 将取的参数转化为整型
if (sId != null) {
id = Integer.parseInt(sId);
msgService.readMsg(accId, id);
}
} catch (Exception e) {// 异常
id = 0;
}
// 调用MessageService取得短信息,当前页面,总信息数,总页面数
Result result = msgService.getAccMsg(accId, page);
if (result != null) {
if (result.getRet() == ResultType.RET_SUCCESS) {// 取得成功
// 把取得的数据(短信息,当前页面,总信息数,总页面数)放入到request中
for (Map.Entry<String, Object> entry : result
.listAttribute().entrySet()) {
request.setAttribute(entry.getKey(), entry.getValue());
}
// 取得短信息列表
List<Message> msgs = (List<Message>) result
.getAttribute("listMessage");
List<Integer> senderIds = new ArrayList<Integer>();// 定义一个存储发送者ID的列表
for (Message msg : msgs) {
senderIds.add(msg.getSendId());
}
// 通过发送者ID取得发送人信息
List<LoginUser> users = userService
.getUsersByIds(senderIds);
Map<Integer, String> userMap = new HashMap<Integer, String>();
for (LoginUser user : users) {// 把用户ID和name放入映射表
userMap.put(user.getId(), user.getRealName());
}
request.setAttribute("userMap", userMap);// 把映射表放入request中
request.getRequestDispatcher("acc_msg.jsp").forward(
request, response);
} else if (result.getRet() == ResultType.RET_FAIL) {// 取得失败
request.setAttribute("message", result.getMessage());
request.getRequestDispatcher("../error.jsp").forward(
request, response);
} else {// 异常
request.getRequestDispatcher("../error.jsp").forward(
request, response);
}
} else {
response.sendRedirect("nomsg.jsp");
}
} else {
out.print("您还未登陆!请登陆后再试!");
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
private MessageService msgService;
private SysUserService userService;
public void init() throws ServletException {// 初使化service
msgService = (MessageService) ServiceFactory
.getService(MessageService.class);
userService = (SysUserService) ServiceFactory
.getService(SysUserService.class);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -