viewcoder.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 892 行 · 第 1/2 页

JAVA
892
字号
				sb.append("&act=manage");
				sb.append("&fpage=");
				sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
				sb.append("&page=");
				sb.append(ParamUtils.getStringParameter(request,"page","1"));
				sb.append("&lpage=");
				sb.append(ParamUtils.getStringAuto(request, "lpage", "1"));
				sb.append("\">");
				sb.append("评分</a>");
			break;
		}
		return sb.toString();
	}
	
	public static String topicMenu(HttpServletRequest request, ReplyView v, int i){
		if(Validator.isEmpty(v)){
			return "";
		}
		return topicMenu(request, v.getForumId(),v.getTopicId(),v.getReplyId(), v.getStorey(), i);
	}
	
	public static String topicMenu(HttpServletRequest request, TopicView v, int i){
		if(Validator.isEmpty(v)){
			return "";
		}
		return topicMenu(request, v.getForumId(),v.getTopicId(),0,0,i);
	}
	
	public static String topicMenus(HttpServletRequest request, ReplyView v){
		if(Validator.isEmpty(v)){
			return "";
		}
		StringBuffer sb = new StringBuffer();
		sb.append("<ul>");
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.OPERATEPOWER, 1)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,1));//回复
			sb.append("</li>");
			sb.append("<li>");
			sb.append(topicMenu(request,v,6));//引用
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 0)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,2));//编辑
			sb.append("</li>");
		}
		else if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.OPERATEPOWER, 3)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,2)); //编辑
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 1)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,3)); //删除
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 2)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,4)); //删除
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 3)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,7)); //评分
			sb.append("</li>");
		}
		sb.append("</ul>");
		return sb.toString();
	}
	
	public static String topicMenus(HttpServletRequest request, TopicView v){
		if(Validator.isEmpty(v)){
			return "";
		}
		StringBuffer sb = new StringBuffer();
		sb.append("<ul>");
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.OPERATEPOWER, 1)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,1));//回复
			sb.append("</li>");
			sb.append("<li>");
			sb.append(topicMenu(request,v,6));//引用
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 0)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,2));//编辑
			sb.append("</li>");
		}
		else if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.OPERATEPOWER, 3)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,2)); //编辑
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 1)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,3)); //删除
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 2)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,4)); //删除
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 3)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,7)); //评分
			sb.append("</li>");
		}
		if(getUserPower().canAccess(UserLogin.getUser(request), v.getForumId(), UserPower.ADMINPOWER, 4)){
			sb.append("<li>");
			sb.append(topicMenu(request,v,5)); //精华
			sb.append("</li>");
		}
		sb.append("</ul>");
		return sb.toString();
	}
	
	public static String topicIcon(HttpServletRequest request, TopicView v){
		String img = "old.gif";
		if(v.getReplys()>=ViewCoder.getBasicInfoService().findOnly().getHotTopicReplys()
				|| v.getViews()>=ViewCoder.getBasicInfoService().findOnly().getHotTopicViews()
		){
			img = "hot.gif";
		}
		else if(v.getBetter()>0){
			img = "best.gif";
		}
		else if(!FormatDateTime.dateCompare(v.getCreateDateTime())){
			img = "new.gif";
		}
		StringBuffer sb = new StringBuffer();
		sb.append("<a href=\"");
		sb.append(UrlUtils.getUrl(UrlUtils.TOPIC,v.getTopicId(),v.getForumId(),request));
		sb.append("\" target=\"_blank\"><img src=\"");
		sb.append(getBasicInfoService().findOnly().getImagePath());
		sb.append("topic/");
		sb.append(img);
		sb.append("\" alt=\"新窗口打开《"+v.getTitle()+"》\" align=\"absmiddle\"/></a>");
		return sb.toString();
	}
	
	public static String treeHtml(ReplyView v){
		StringBuffer sb = new StringBuffer();
		sb.append("\r\n");
    	String str = new String();
    	int tree =  v.getTree();
    	String temp = String.valueOf(v.getTree());
        temp = temp.substring((temp.length()-1),temp.length());
        int treei = TypeChange.stringToInt(temp);
    	if(treei%2==0){
    		str = ("└");
    	}else{
    		str = ("├");
    		tree--;
    	}
    	if(v.getLayer()==1){
    		sb.append(str);
    	}else{
        	for(int i=v.getLayer(); i>1; i--){
        		tree = tree/2;
        		temp = String.valueOf(tree);
                temp = temp.substring((temp.length()-1),temp.length());
                treei = TypeChange.stringToInt(temp);
        		if(tree%2!=0){
        			str = ("│&nbsp;&nbsp;"+str);
        			tree=tree-1;
        		}else{
        			str = ("&nbsp;&nbsp;&nbsp;&nbsp;"+str);
        		}
        	}
        	sb.append(str);
    	}
    	sb.append("<img src=\"");
    	sb.append(getBasicInfoService().findOnly().getImagePath());
    	sb.append("mood/");
    	sb.append(v.getMood());
    	sb.append(".gif\" align=\"absmiddle\"/>");
    	return sb.toString();
	}
	
	public static String userUrl(int userId, String userName, String rel){
		if(userId>0){
			StringBuffer sb = new StringBuffer("");
	       	sb.append("<a href=\"");
	    	sb.append(UrlUtils.getUrl(UrlUtils.USER,userId,0,null));
	    	sb.append("\"");
	    	if(!Validator.isEmpty(rel)){
	    		sb.append(" target=\""+rel+"\"");
	    	}
	    	sb.append(">");
	    	sb.append(userName);
	    	sb.append("</a>");
	    	return sb.toString();
		}
		else if(Validator.isEmpty(userName)){
			return userName;
		}
		else{
			return "";
		}
	}
	
	public static String replyUrl(HttpServletRequest request, ReplyView v, String fpage){
		StringBuffer sb = new StringBuffer();
		sb.append("<a href=\"");
		sb.append(UrlUtils.getUrl(UrlUtils.REPLY, v, request));
    	sb.append("\">");
    	sb.append(v.getTitle());
    	sb.append("</a>");
		return sb.toString();
	}
	
	public static String findReplys(HttpServletRequest request, TopicView topic, String defalutStr){
		if(topic.getReplys()>0){
			TopicParameter param = new TopicParameter();
			param.setTopicId(topic.getTopicId());
			param.setPage(new Integer(1));
			param.setRows(new Integer(80));
			param.setOrderBy(new Byte("1"));
			List<Reply> mlist = getReplyService().findReplyByTopicId(param);
			List<ReplyView> vlist = null;
			if(!Validator.isEmpty(mlist)){
				vlist = new ArrayList<ReplyView>();
				for(Reply reply:mlist){
					ReplyView replyView = new ReplyView();
					BeanUtils.copyProperties(replyView, reply);
					vlist.add(replyView);
				}
			}
			return findReplys(request,topic, vlist, defalutStr);
		}else{
			return defalutStr;
		}
	}
	
	public static String findReplys(HttpServletRequest request,TopicView topic, List<ReplyView> list, String defalutStr)
	{
		if(Validator.isEmpty(list)){
			return defalutStr;
		}
		String fpage = ParamUtils.getStringParameter(request,"fpage","1");
		StringBuffer sb = new StringBuffer();
		for(int i=0; i<list.size(); i++){
			ReplyView v = list.get(i);
			sb.append("<div class=\"tr\"><div class=\"tr_pd\"><span class=\"title\">");
			sb.append(treeHtml(v));
			if(Validator.isEmpty(request)){
				sb.append(ViewCoder.replyUrl(request, v,fpage));
			}else{
				if(ParamUtils.getIntParameter(request,"replyId")==v.getReplyId()){
					sb.append(v.getTitle());
				}else{
					sb.append(ViewCoder.replyUrl(request, v,fpage));
				}
			}
			sb.append("</span>");
			if(v.getContentLength()==0){
				sb.append("(空)");
			}else{
				sb.append("(");
				sb.append(v.getContentLength());
				sb.append("字)");
			}
			sb.append("&nbsp;&nbsp;by<em>");
			sb.append(ViewCoder.userMenu(request, v.getUserView(),""));
			sb.append("</em>");
			sb.append("[<a href=\"post.jsp?forumId=");
			sb.append(v.getForumId());
			sb.append("&better=");
			sb.append(ParamUtils.getStringParameter(request,"better","0"));
			sb.append("&labelId=");
			sb.append(ParamUtils.getStringParameter(request,"labelId","0"));
			sb.append("&fpage=");
			sb.append(fpage);
			sb.append("&topicId=");
			sb.append(v.getTopicId());
			sb.append("&replyId=");
			sb.append(v.getReplyId());
			sb.append("&lpage=");
			sb.append(ParamUtils.getStringAuto(request,"lpage","1"));
			sb.append("&act=addreply");
			sb.append("\">回复</a>]");
			sb.append("&nbsp;&nbsp;&nbsp;&nbsp;");
			sb.append(OutPrint.isDateHtml(v.getCreateDateTime()));
			sb.append("</div></div>");
		}
		return sb.toString();
	}
	
	public static String forumLabel(HttpServletRequest request, ForumView v){
		StringBuffer sb = new StringBuffer();
		byte better = ParamUtils.getByteParameter(request,"better");
		int labelId = ParamUtils.getIntParameter(request,"labelId",0);
    	if(better==1){
           	sb.append("<a href=\"forum.jsp?forumId=");
        	sb.append(v.getForumId());
        	sb.append("\">全部</a>&nbsp;&nbsp;&nbsp;精华&nbsp;&nbsp;&nbsp;");
    	}
    	else if(labelId==0){
        	sb.append("全部&nbsp;&nbsp;&nbsp;<a href=\"forum.jsp?forumId=");
        	sb.append(v.getForumId());
        	sb.append("&better=1\">精华</a>&nbsp;&nbsp;&nbsp;");
    	}
    	else{
    		sb.append("<a href=\"forum.jsp?forumId=");
        	sb.append(v.getForumId());
        	sb.append("\">全部</a>&nbsp;&nbsp;&nbsp;<a href=\"forum.jsp?forumId=");
        	sb.append(v.getForumId());
        	sb.append("&better=1\">精华</a>&nbsp;&nbsp;&nbsp;");
    	}
		if(!Validator.isEmpty(v)&&!Validator.isEmpty(v.getLabelList())){
			for(int i=0; i<v.getLabelList().size(); i++){
				ForumLabelView lv = v.getLabelList().get(i);
				if(labelId==lv.getLabelId()){
					sb.append(lv.getLabelName());
					sb.append("&nbsp;&nbsp;&nbsp;");
				}else{
		        	sb.append("<a href=\"");
		        	sb.append(UrlUtils.getForumLabelUrl(v, lv.getLabelId(), request));
		        	sb.append("\">");
		        	sb.append(lv.getLabelName());
		        	sb.append("</a>&nbsp;&nbsp;&nbsp;");
				}
			}
		}
		return sb.toString();
	}
	
	public static String styleMenu(HttpServletRequest request, int i){
		StringBuffer sb = new StringBuffer();
		switch(i){
			case 1:
				if(UserSetUtils.find(request,UserSetUtils.FORUM_STYLE).equals("1")){
					sb.append("<a href=\"forum.do?act=style&forumId=");
					sb.append(ParamUtils.getStringParameter(request,"forumId"));
					sb.append("&fpage=");
					sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
					sb.append("\">平板浏览</a>");
				}else{
					sb.append("<a href=\"forum.do?act=style&forumId=");
					sb.append(ParamUtils.getStringParameter(request,"forumId"));
					sb.append("&fpage=");
					sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
					sb.append("\">树杈浏览</a>");
				}
			break;
			case 2:
				String topicId = ParamUtils.getStringAttribute(request,"topicId","0");
				String forumId = ParamUtils.getStringAttribute(request,"forumId","0");
				if(request.getAttribute("topicId")==null){
					topicId = ParamUtils.getStringParameter(request,"topicId");
				}
				if(request.getAttribute("forumId")==null){
					forumId = ParamUtils.getStringParameter(request,"forumId");
				}
				if(UserSetUtils.find(request,UserSetUtils.THREAD_STYLE).equals("1")){
					sb.append("<a href=\"topic.do?act=style&topicId=");
					sb.append(topicId);
					sb.append("&forumId=");
					sb.append(forumId);
					sb.append("&fpage=");
					sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
					sb.append("&page=");
					sb.append(ParamUtils.getStringParameter(request,"page","1"));
					sb.append("\">平板浏览</a>");
				}else{
					sb.append("<a href=\"topic.do?act=style&topicId=");
					sb.append(topicId);
					sb.append("&forumId=");
					sb.append(forumId);
					sb.append("&fpage=");
					sb.append(ParamUtils.getStringParameter(request,"fpage","1"));
					sb.append("&page=");
					sb.append(ParamUtils.getStringParameter(request,"page","1"));
					sb.append("\">树杈浏览</a>");
				}
			break;
		}
		return sb.toString();
	}
	
	public static String reply_userName(HttpServletRequest request, ReplyView v, String rel){
		StringBuffer sb = new StringBuffer();
		if(!Validator.isEmpty(v.getUserView())){
	       	sb.append("<a href=\"");
	    	sb.append(UrlUtils.getUrl(UrlUtils.USER,v.getUserView().getUserId(),0,request));
	    	sb.append("\"");
	    	if(!Validator.isEmpty(rel)){
	    		sb.append(" target=\""+rel+"\"");
	    	}
	    	sb.append(">");
	    	sb.append(v.getUserView().getUserName());
	    	sb.append("</a>");
		}
		else{
			sb.append(v.getUserName());
		}
		return sb.toString();
	}

	public static ForumView getForum(int id){
		ForumView forum = null;
		Forum model = ViewCoder.getForumService().findById(id);
		if(!Validator.isEmpty(model)){
			forum = new ForumView();
			BeanUtils.copyProperties(forum,model);
		}
		return forum;
	}

	private static BasicInfoService getBasicInfoService() {
		return ServiceWrapper.<BasicInfoService>getSingletonInstance(ServiceLocator.BASICINFO);
	}

	
	private static FavoriteForumService getFavoriteForumService() {
		return ServiceWrapper.<FavoriteForumService>getSingletonInstance(ServiceLocator.FAVORITEFORUM);
	}
	
	private static NoAllowedCharService getNoAllowedCharForumService() {
		return ServiceWrapper.<NoAllowedCharService>getSingletonInstance(ServiceLocator.NOALLOWEDCHAR);
	}
	
	private static ForumService getForumService() {
		return ServiceWrapper.<ForumService>getSingletonInstance(ServiceLocator.FORUM);
	}

	private static ConfigService getConfigService() {
		return ServiceWrapper.<ConfigService>getSingletonInstance(ServiceLocator.MUSIC_CONFIG);
	}
	
	private static UserPower getUserPower() {
		if(Validator.isEmpty(USER_POWER)){
			USER_POWER = new UserPower();
		}
		return USER_POWER;
	}
	
	
	private static ReplyService getReplyService() {
		return ServiceWrapper.<ReplyService>getSingletonInstance(ServiceLocator.REPLY);
	}
}

⌨️ 快捷键说明

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