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

📄 useraction.java

📁 struts+hibernate BBS mysql数据库 功能基本齐全
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

	@Override
	protected ActionForward forumHome(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = this.getSession(request);
		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));
		return mapping.findForward("forumHome");
	}

	@Override
	protected ActionForward payOnline(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));
		return mapping.findForward("payOnline");
	}

	@Override
	protected ActionForward userIndex(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		return mapping.findForward("userIndex");
	}

	@Override
	protected ActionForward userModifyInfo(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		System.out.println("why ???");
		ForumUser forumUser = (ForumUser) this.getSession(request)
				.getAttribute("user");
		if (null == forumUser) {
			return mapping.findForward("userLogin");
		}
		String toPage = request.getContextPath()
				+ "/forum/user.do?action=userInfo";
		this.setAttribute(request, "toPage", toPage);
		this.modifyInfo(request, forumUser, form);
		if (1 == El.getEl().getForumUserMgr().modifyUserInfo(forumUser)) {
			ActionMessages messages = new ActionMessages();
			messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
					"user.modifyInfo.success"));
			saveMessages(request, messages);
			return mapping.findForward("userSuccess");
		}
		ActionErrors errors = new ActionErrors();
		errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(
				"user.modifyInof.error"));
		saveErrors(request, errors);
		return mapping.findForward("userError");
	}

	private void modifyInfo(HttpServletRequest request, ForumUser forumUser,
			ActionForm form) {
		System.out.println("before hello");
		if (null == forumUser || null == form) {
			return;
		}
		UserForm uf = (UserForm) form;
		// forumUser.setBirthday(uf.getBirthday());
		// forumUser.setEmail(uf.getEmail());
		forumUser.setUserFace(uf.getUserFace());
		forumUser.setTrueName(uf.getTrueName());
		forumUser.setSex(uf.getSex());
		forumUser.setPhone(uf.getPhone());
		forumUser.setMobile(uf.getMobile());
		forumUser.setQq(uf.getQq());
		forumUser.setIcq(uf.getIcq());
		forumUser.setMsn(uf.getMsn());
		forumUser.setMarriage(uf.getMarriage());
		forumUser.setJobTitle(uf.getJobTitle());
		forumUser.setAddress(uf.getAddress());
		forumUser.setSign(uf.getSign());
	}

	@Override
	protected ActionForward userModifyPassword(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		ForumUser forumUser = (ForumUser) this.getSession(request)
				.getAttribute("user");
		String newPassword;
		String answer;
		String question;
		String oldPassword;
		String confirmPassword;

		String toPage = request.getContextPath()
				+ "/forum/user.do?action=passwordMgr";
		this.setAttribute(request, "toPage", toPage);
		if (null != form) {
			newPassword = ((UserForm) form).getNewPassword();
			oldPassword = ((UserForm) form).getOldPassword();
			answer = ((UserForm) form).getOldPassword();
			question = ((UserForm) form).getQuestion();
			confirmPassword = ((UserForm) form).getConfirmPassword();

			System.out.println("newPassword" + newPassword);
			System.out.println("oldPassword" + oldPassword);
			System.out.println("answer" + answer);
			System.out.println("question" + question);
			System.out.println("confirmPassword" + confirmPassword);

			ActionErrors errors = new ActionErrors();
			if (ElCheckString.isEmptyString(newPassword)
					|| ElCheckString.isEmptyString(oldPassword)
					|| "".equals(newPassword.trim())
					|| "".equals(oldPassword.trim())) {
				errors.add("e1", new ActionError("input error"));
			}
			if (!forumUser.getPassword().equals(oldPassword)) {
				errors.add("e2", new ActionError("input oldpassword error"));
			}
			if (null == newPassword || null == oldPassword
					|| !newPassword.equals(confirmPassword)) {
				errors.add("e3", new ActionError("password.not.same"));
			}
			if (null == answer || null == question) {
				errors.add("e4", new ActionError("answerOrQuestion.not.null"));
			}
			if (errors.size() > 0) {
				saveErrors(request, errors);
				return mapping.findForward("userError");
			}
			forumUser.setPassword(newPassword);
			if (El.getEl().getForumUserMgr().updateUser(forumUser)) {
				return mapping.findForward("userSuccess");
			}
		}
		return mapping.findForward("userError");
	}

	@Override
	protected ActionForward showMessages(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {

		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));

		ForumUser fu = (ForumUser) this.getSession(request)
				.getAttribute("user");
		Integer msgId = this.getMsgId(request);
		Integer toId = fu.getId();
		Forummessages fm = El.getEl().getMsgMgr().findByProperty(msgId, toId);
		this.setAttribute(request, "fm", fm);
		if (null != fm) {
			System.out.println(fm.getFromName());
		}
		return mapping.findForward("showMessages");
	}

	@Override
	protected ActionForward deleteMsg(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		Integer msgId = this.getMsgId(request);
		Forummessages fm = El.getEl().getMsgMgr().findById(msgId);
		if (null != fm) {
			El.getEl().getMsgMgr().delete(fm);
		}
		return userMessages(mapping, form, request, response);
	}

	@Override
	protected ActionForward ljMsg(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		
		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));
		Integer msgId = this.getMsgId(request);
		String type = request.getParameter("type");
		Forummessages fm = El.getEl().getMsgMgr().findById(msgId);
		// 还原
		if (null != type && "0".equals(type)) {
			fm.setIsLj(Byte.valueOf("0"));
		} else if (null != type && "1".equals(type)) {
			fm.setIsLj(Byte.valueOf("1"));
		} else {
			ActionErrors errors = new ActionErrors();
			errors.add("urlErr", new ActionError("url.parameter.error"));
			saveErrors(request, errors);
			return mapping.findForward("userError");
		}
		if (Constents.CURRENT_OPERATION_SUCCESS != El.getEl().getMsgMgr()
				.setLjMsg(fm)) {
			ActionErrors errors = new ActionErrors();
			errors.add("setLjMsgErr", new ActionError("setLjMsgErr"));
			saveErrors(request, errors);
		}
		return this.userMessages(mapping, form, request, response);
	}

	@Override
	protected ActionForward postMsg(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String postMsg = request.getParameter("postMsg");
		Integer fromId;
		String fromName;
		Integer toId = -1;
		String toName;
		String text;
		String title;
		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));
		if ("true".equals(postMsg)) {
			fromId = Integer.valueOf(request.getParameter("fromId"));
			fromName = request.getParameter("fromName");
			
			boolean hasUser = false;
			if(this.isNumber(request.getParameter("toId"))) {
				toId = Integer.valueOf(request.getParameter("toId"));
			} else {
				ForumUser fu;
				fu = El.getEl().getForumUserMgr().findUserById(toId);
				if(fromName == fu.getUsername()) {
					hasUser = true;
				}
			}
			if(!hasUser) {
				ActionErrors errors = new ActionErrors();
				errors.add("no user", new ActionError("msg.no.user"));
				this.saveErrors(request, errors);
				return mapping.findForward("userError");
			}
			
			toName = request.getParameter("toName");
			title = request.getParameter("title");
			text = request.getParameter("text");
			ActionErrors errors = checkFrom(fromId, fromName, toId, toName, text, title);
			if(0 > errors.size()) {
				this.saveErrors(request, errors);
				return mapping.findForward("postMessages");
			}
			if(Constents.CURRENT_OPERATION_SUCCESS == El.getEl().getMsgMgr().postMsg(fromId, fromName, toId, toName, title, text)) {
				ActionMessages messages = new ActionMessages();
				messages.add("postMsgSuccess", new ActionMessage("postMsg.success"));
				saveMessages(request, messages);
				return mapping.findForward("userSuccess");
			}
		} else {
			return mapping.findForward("postMessages");
		}
		return null;
	}

	private ActionErrors checkFrom(Integer fromId, String fromName, Integer toId, String toName, String text, String title) {
		ActionErrors errors = new ActionErrors();
		if (null == fromId || fromId < 1 || null == fromName || null == toId
				|| 1 > toId || null == toName || "".equals(toName)
				|| null == text || "".equals(toName)
				|| null == title || "".equals(title)) {
			errors.add("fid", new ActionError("post.topic.validate.err"));
		}
		return errors;
	}

	/* 
	 * 1,参与的帖子,也就是邮自己回复的帖子
	 * 2,热门的帖子
	 * 3,精华的帖子
	 * 0所有个帖子
	 * (non-Javadoc)
	 * @see com.elan.forum.actions.user.UserBaseAction#userTopic(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	@Override
	protected ActionForward userTopic(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ForumUser fu = (ForumUser) getSession(request).getAttribute("user");
		Integer page = this.getPage(request);
		Integer count = 0;
		Integer pageCount = 0;
		Integer pageSize = Constents.DEFAULT_PAGE_SIZE;
		Boolean hasNextPage = false;
		Boolean hasPreviousPage = false;
		
		String type = request.getParameter("type");
		TopicMgr tMgr = El.getEl().getTopicMgr();
		List<ForumTopic> listFt = null;
		if(null == type || "".equals(type)) {
			ActionErrors errors = new ActionErrors();
			errors.add("urlErr", new ActionError("url.parameter.error"));
			saveErrors(request, errors);
			return mapping.findForward("userError");
		}
		//导航
		this.setAttribute(request, "Navigation", this.constructNavigation(
				request, this.getAction(request)));
		if("0".equals(type)) {
			count = tMgr.getCount(fu.getId());
			pageCount = this.getPageCount(count, pageSize);
			page = this.flushPage(page, pageCount);
			listFt = tMgr.getUserTopic(fu.getId(), page ,pageSize);
		} else if("1".equals(type)) {
			count = tMgr.getUserReplyTopic(fu.getId());
			pageCount = this.getPageCount(count, pageSize);
			page =  this.flushPage(page, pageCount);
			listFt = tMgr.getUserReplyed(fu.getId(), page, pageSize);
		} else if("2".equals(type)) {
			count = tMgr.getHotTopicCount(fu.getId());
			pageCount = this.getPageCount(count, pageSize);
			page = this.flushPage(page, pageCount);
			listFt = tMgr.getUserHotTopic(fu.getId(), page, pageSize);
		} else if("3".equals(type)) {
			count = tMgr.getEssenceTopicCount(fu.getId());
			pageCount = this.getPageCount(count, pageSize);
			page = this.flushPage(page, pageCount);
			listFt = tMgr.getUserEssenceTopic(fu.getId(), page, pageSize);
		} else {
			ActionErrors errors = new ActionErrors();
			errors.add("urlErr", new ActionError("url.parameter.error"));
			saveErrors(request, errors);
			return mapping.findForward("userError");
		}
		hasNextPage = this.getHasNextPage(page, pageCount);
		hasPreviousPage = this.getHasPreviousPage(page, pageCount);
		this.setRequestAttrubute(request, listFt, page, count, pageSize, pageCount, hasNextPage, hasPreviousPage, type);
		return mapping.findForward("userTopic");
	}
	
	protected Integer flushPage(Integer page, Integer pageCount) {
		if(page < 1) {
			page = 1;
		} else if(page > pageCount) {
			page = pageCount;
		} 
		if(0 == pageCount) {
			page = 0;
		}
		System.out.println("page:" + page);
		System.out.println("pageCount:" + pageCount);
		return page;
	}
	
	protected Integer getPageCount(Integer count, Integer pageSize) {
		Integer pageCount = 0;
		if(0 == count % pageSize) {
			pageCount = count / pageSize; 
		} else {
			pageCount = count / pageSize + 1;
		}
		return pageCount;
	}
	
	protected Boolean getHasNextPage(Integer page, Integer pageCount){
		Boolean hasNextPage = false;
		if (page < pageCount) {
			hasNextPage = true;
		}
		return hasNextPage;
	}
	
	protected Boolean getHasPreviousPage(Integer page, Integer pageCount){
		Boolean getHasPreviousPage = false;
		if (page > 1) {
			getHasPreviousPage = true;
		}
		return getHasPreviousPage;
	}
	
	protected void setRequestAttrubute(HttpServletRequest request, List<ForumTopic> listFt, Integer page, Integer count, Integer pageSize, Integer pageCount, Boolean hasNextPage,
			Boolean hasPreviousPage, String type) {
		this.setAttribute(request, "listFt", listFt);
		this.setAttribute(request, "page", page);
		this.setAttribute(request, "count", count);
		this.setAttribute(request, "pageSize", pageSize);
		this.setAttribute(request, "pageCount", pageCount);
		this.setAttribute(request, "hasNextPage", hasNextPage);
		this.setAttribute(request, "hasPreviousPage", hasPreviousPage);
		this.setAttribute(request, "type", type);
	}
	
}

⌨️ 快捷键说明

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