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

📄 viewcontroller.java

📁 openfans 0.1 using: eclipse, maven, spring, hibernate, mysql,common-validator,sitemesh.....
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	 * @throws Exception
	 */
	public ModelAndView listFeedFeedItem(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String id = request.getParameter("id");
		Feed feed;
		Page page;
		int pageNum = getPageNum(request);
		Fans fans = ThreadFans.get();
		// -1代表全部
		if ("-1".equals(id)) {
			if (!(fans instanceof PreFans)) {
				page = facade.getPagedFansSubFeedItems(fans, "id desc",
						pageNum, feedItemPageSize);
			} else {
				page = facade.getPagedFeedItems("id desc", pageNum,
						feedItemPageSize);
			}
		} else {
			feed=facade.getFeed(Integer.parseInt(id));
			page = facade.getPagedFeedFeedItems(feed, "id desc", pageNum,
					feedItemPageSize);
		}
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("page", page);
		map.put("id", id);
		return new ModelAndView("ajax/listFeedFeedItem", map);
	}

	public ModelAndView listGroup(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		List l = facade.listGroup();
		map.put("groupList", l);
		return new ModelAndView("public/listGroup", map);
	}

	public ModelAndView listRootTag(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int pageNum = getPageNum(request);
		String order = getTagOrderFromReq(request);
		Page page = facade.getPagedRootTags(order, pageNum, rootTagPageSize);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("page", page);
		putOrderToMap(request, map);
		return new ModelAndView("public/listRootTag", map);
	}

	public ModelAndView listFeed(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int pageNum = getPageNum(request);
		Page page=facade.getPagedFeed(pageNum, feedPageSize);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("page", page);
		return new ModelAndView("ajax/listFeed", map);
	}

	public ModelAndView listFansSubFeed(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Map<String, Object> map = new HashMap<String, Object>();
		if (!(ThreadFans.get() instanceof PreFans)) {
			Fans fans = facade.getFans(ThreadFans.get().getFansId());
			map.put("subFeedSet", fans.getSubFeedSet());
		}
		return new ModelAndView("ajax/listFansSubFeed", map);
	}

	public ModelAndView listTag(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int pageNum = getPageNum(request);
		// String order = getTagOrderFromReq(request);
		List l = facade.getPagedTags(pageNum, tagPageSize, "title asc");
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("tagList", l);
		putOrderToMap(request, map);
		hasNextAndPre(pageNum, tagPageSize, l, map);
		return new ModelAndView("public/listTag", map);
	}

	public ModelAndView listFansFeed(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Set s = facade.getFans(ThreadFans.get().getFansId()).getFeeds();
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("feeds", s);
		return new ModelAndView("ajax/listFansFeed", map);
	}

	public ModelAndView listFansTag(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Set s = facade.getFans(ThreadFans.get().getFansId()).getUsedTagSet();
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("tags", s);
		return new ModelAndView("ajax/listFansTag", map);
	}

	public ModelAndView listMessage(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String type = request.getParameter("type");
		int pageNum = getPageNum(request);
		List l = null;
		Fans f = ThreadFans.get();
		if ("post".equals(type)) {
			l = facade.getPagedPostMessages(pageNum, messagePageSize, f
					.getFansId(), "post_date desc");

		} else if ("receive".equals(type)) {
			l = facade.getPagedReceiveMessages(pageNum, messagePageSize, f
					.getFansId(), "post_date desc");
		}
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("messageList", l);
		putOrderToMap(request, map);
		hasNextAndPre(pageNum, messagePageSize, l, map);
		return new ModelAndView("public/listMessage", map);
	}

	private void putOrderToMap(HttpServletRequest request,
			Map<String, Object> map) {
		map.put("o", String.valueOf(getOrderIntFromReq(request)));
	}

	private void putConditionToMap(HttpServletRequest request,
			Map<String, Object> map) {
		map.put("c", String.valueOf(getConditionIntFromReq(request)));
	}

	public ModelAndView searchTag(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		String tag = request.getParameter("tag");
		Map<String, Object> map = new HashMap<String, Object>();
		if (tag != null && tag.trim().length() > 0) {
			String title = tag.split(" ")[0];
			List tagList = facade.searchTags(title);
			map.put("tagList", tagList);
		}
		return new ModelAndView("ajax/searchTag", map);
	}

	public void setArticlePageSize(int articlePageSize) {
		this.articlePageSize = articlePageSize;
	}

	public void setFacade(Facade facade) {
		this.facade = facade;
	}

	public void setFansPageSize(int fansPageSize) {
		this.fansPageSize = fansPageSize;
	}

	public void setFeedItemPageSize(int feedItemPageSize) {
		this.feedItemPageSize = feedItemPageSize;
	}

	public void setRootTagPageSize(int rootTagPageSize) {
		this.rootTagPageSize = rootTagPageSize;
	}

	public void setFeedPageSize(int feedPageSize) {
		this.feedPageSize = feedPageSize;
	}

	public void setTagPageSize(int tagPageSize) {
		this.tagPageSize = tagPageSize;
	}

	public ModelAndView viewArticle(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int articleId = Integer.parseInt(request.getParameter("id"));
		Map<String, Object> map = new HashMap<String, Object>();
		Article article = facade.getArticle(articleId);

		// 增加这个article的查看次�?
		Map<String, Object> articleMap = ((OpenfansClickstream) request
				.getSession().getAttribute(
						OpenfansClickstream.SESSION_ATTRIBUTE_KEY))
				.getFansMap();
		Object o = articleMap.put(String.valueOf(article.getArticleId()),
				new Object());
		if (o == null) {// �?个session对一个article的访问只算一�?
			article.addHot(1);
			facade.save(article);
		}

		map.put("article", article);
		map.put("titlePart", article);
		map.put("comment", new Comment());
		map.put("relArticles", facade.getRelArticles(article));
		if (article.getFans().getFansId() == ThreadFans.get().getFansId()) {
			map.put("isAuthor", "true");
		}
		return new ModelAndView("public/viewArticle", map);
	}

	public ModelAndView viewFans(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// int fansId = Integer.parseInt(request.getParameter("id"));
		String name = request.getParameter("name");
		Map<String, Object> map = new HashMap<String, Object>();
		Fans fans = facade.getFans(name);

		// 增加这个fans的查看次�?
		Map<String, Object> fansMap = ((OpenfansClickstream) request
				.getSession().getAttribute(
						OpenfansClickstream.SESSION_ATTRIBUTE_KEY))
				.getFansMap();
		Object o = fansMap.put(String.valueOf(fans.getFansId()), new Object());
		if (o == null) {// �?个session对一个fans的访问只算一�?
			fans.addHot(1);
			facade.saveFans(fans);// 不是用id load,所以不在hibernate中,�?要显式持久化
		}
		map.put("fans", fans);
		map.put("titlePart", fans.getNickName());
		Set<UseStatus> set = fans.getUseStatusSet();
		divideStatusSet(set, map);
		return new ModelAndView("public/viewFans", map);
	}

	public ModelAndView viewFeedItem(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		Map<String, Object> map = new HashMap<String, Object>();
		FeedItem feedItem = facade.getFeedItem(id);
		map.put("feedItem", feedItem);
		List relFeedItems = facade.getRelFeedItems(feedItem);
		map.put("relFeedItems", relFeedItems);
		// map.put("comment", new Comment());
		// map.put("relArticles", facade.getRelArticles(article));

		return new ModelAndView("public/viewFeedItem", map);
	}

	public ModelAndView viewGroup(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int groupId = Integer.parseInt(request.getParameter("id"));
		Group group = facade.getGroup(groupId);
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("group", group);
		map.put("titlePart", group.getName());
		if (group.containsFans(ThreadFans.get())) {
			map.put("inGroup", new Boolean(true));
		}
		return new ModelAndView("public/viewGroup", map);
	}

	public ModelAndView viewFeed(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		int feedId = Integer.parseInt(request.getParameter("id"));
		Map<String, Object> map = new HashMap<String, Object>();
		Feed feed = facade.getFeed(feedId);
		map.put("feed", feed);
		int pageNum = getPageNum(request);
		Page page = facade.getPagedFeedFeedItems(feed, "id desc", pageNum,
				feedItemPageSize);
		map.put("page", page);
		putConditionToMap(request, map);

		return new ModelAndView("public/viewFeed", map);
	}

	public ModelAndView viewTag(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		Tag tag = null;
		String tagStr = request.getParameter("name");
		if (null != tagStr) {
			// TODO 这里做了转码,但具体代码与服务器的字符集相关
			tagStr = new String(tagStr.getBytes("ISO-8859-1"), "GBK");
			tag = facade.getTagByTitle(tagStr);
		} else {// 要兼顾搜索引擎已有链接,将来可以去掉
			String tagId = request.getParameter("id");
			tag = facade.getTag(Integer.parseInt(tagId));
		}
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("tag", tag);
		// map.put("titlePart", tag.getTitle());
		// 增加这个tag的查看次�?
		Map<String, Object> tagMap = ((OpenfansClickstream) request
				.getSession().getAttribute(
						OpenfansClickstream.SESSION_ATTRIBUTE_KEY)).getTagMap();
		Object o = tagMap.put(String.valueOf(tag.getTagId()), new Object());
		if (o == null) {// �?个session对一个tag的访问只算一�?
			tag.addHot(1);
			facade.save(tag);
		}

		if (tag instanceof RootTag) {
			Set<UseStatus> set = ((RootTag) tag).getUseStatusSet();
			Fans fans = ThreadFans.get();
			if (fans.getFansId() != -1) {
				for (UseStatus us : set) {
					if (fans.getFansId() == us.getFans().getFansId()) {
						map.put("curStatus", us);
						break;
					}
				}
			}
			divideStatusSet(set, map);
			return new ModelAndView("public/viewRootTag", map);
		} else {
			// 获取与一个普通tag关联的roottag列表
			List relRootTagList = facade.getTagRelRootTag(tag);
			map.put("relRootTagList", relRootTagList);
			return new ModelAndView("public/viewTag", map);
		}
	}

	public void setMessagePageSize(int messagePageSize) {
		this.messagePageSize = messagePageSize;
	}
}

⌨️ 快捷键说明

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