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

📄 forumresults.java

📁 这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载
💻 JAVA
字号:
/* 
 * Created on 2007-2-17
 * Last modified on 2007-9-16
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.service.forum;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.yeqiangwei.club.param.ForumParameter;
import com.yeqiangwei.club.service.ServiceLocator;
import com.yeqiangwei.club.service.ServiceWrapper;
import com.yeqiangwei.club.service.model.ForumModel;
import com.yeqiangwei.club.service.util.BasicInfoService;
import com.yeqiangwei.util.Validator;
import com.yeqiangwei.club.view.util.UrlUtils;
import com.yeqiangwei.io.File;

public class ForumResults extends ForumTemplate{
	
	//private static final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ForumResults.class);
	
	private Map<String, String> hashMap = null;
	
	private int lastLayer = 0;
	
	@Override
	public List<ForumModel> findTops(int rows) {
		return this.getForumService().findTops(rows);
	}
	
	public List findByIdd(List<ForumModel> allList, int forumIdd) {
		ForumParameter param = new ForumParameter();
		param.setForumIdd(forumIdd);
		List<ForumModel> list = this.getForumService().findByParameter(param);
		if(!Validator.isEmpty(list)){
			for(int i=0; i<list.size(); i++){
				ForumModel model = list.get(i);
				allList.add(model);
				this.findByIdd(allList, model.getForumId());
			}
		}
		return allList;
	}

	@Override
	public void createForumMenu() throws IOException {
		StringBuffer sb = new StringBuffer();
		sb.append("<%@ page language=\"java\" contentType=\"text/html;charset=UTF-8\" %>");
		List<ForumModel> list = super.findAll();
		sb.append(this.forumMenu(list));
		StringBuffer fsb = new StringBuffer();
		fsb.append(this.getBasicInfoService().findOnly().getSitePath());
		fsb.append(File.separator);
		fsb.append("club");
		fsb.append(File.separator);
		fsb.append("fileInc");
		fsb.append(File.separator);
		fsb.append("forumMenu.jsp");
		File.deleteFile(fsb.toString());
		File.createFile(fsb.toString(), sb.toString(),"UTF-8",true);
	}
	
	private String forumMenu(List<ForumModel> list){
		StringBuffer sb = new StringBuffer();
		for(int i=0; i<list.size(); i++){
			ForumModel model = list.get(i);
			sb.append(this.forumMenu(model));
		}
		this.setHashMaps();
		String temp = this.replaces(sb.toString());
		temp = this.replaces(temp);
		return temp;
	}
	

	private String replaces(String str){
		String temp = str;
		Map m = this.getHashMap();
		/**
		 * 替换分类下版面标记
		 */
		for(Iterator i = m.keySet().iterator(); i.hasNext();){
			String key = i.next().toString();
		    String value = m.get(key).toString();
		    for(int l=0; l<=this.getLastLayer(); l++){
		    	temp = temp.replace(key,value);
		    }
		}
		return temp;
	}
	
	/**
	 * 所有顶层分类Menu
	 * @param item
	 * @return
	 */
	private String forumMenu(ForumModel model){
		StringBuffer sb = new StringBuffer();
		if(!model.getIsHidden()&model.getLayer()==0){
			sb.append("\r\n<div class=\"m ");
			sb.append("layer_");
			sb.append(model.getLayer());
			sb.append("\">");
			sb.append("\r\n<span class=\"b\">");
			sb.append("<img id=\"img_f");
			sb.append(model.getForumId());
			sb.append("\" src=\"");
			sb.append(this.getBasicInfoService().findOnly().getImagePath());
			if(!model.getIsList()){
				if(model.getType()==1){
					sb.append("b_1.gif\" alt=\"\"");
				}else{
					sb.append("f_1.gif\" alt=\"\"");
					sb.append(" onclick=\"tree.listTree('f"+model.getForumId()+"');\" ");
				}
			}else{
				if(model.getType()==1){
					sb.append("b_2.gif\" alt=\"\"");
				}else{
					sb.append("f_2.gif\" alt=\"\"");
					sb.append(" onclick=\"tree.listTree('f"+model.getForumId()+"');\" ");
				}
			}
			sb.append("/>");
			sb.append("<a ");
			if(model.getType()==1){
				sb.append(" href=\"");
				sb.append(UrlUtils.getUrl(UrlUtils.FORUM,model.getForumId(),0,null));
				sb.append("\"");
			}else{
				sb.append(" onclick=\"tree.listTree('f"+model.getForumId()+"');\"");
			}
			sb.append(" target=\"rFrame\">");
			sb.append(model.getForumName());
			sb.append("</a></span>\r\n</div>");
			sb.append("\r\n");
			sb.append("<div id=\"tree_f");
			sb.append(model.getForumId());
			sb.append("\"");
			if(model.getIsList()){
				sb.append(" style=\"display:block\"");
			}else{
				sb.append(" class=\"hide\"");
			}
			sb.append(">\r\n");
			sb.append("<div class=\"m ");
			sb.append("layer_");
			sb.append(model.getLayer()+1);
			sb.append("\">");
			sb.append("\r\n");
			sb.append("{m_");
			sb.append(model.getForumId());
			sb.append("}");
			sb.append("</div>\r\n");
			sb.append("</div>");
		}
		return sb.toString();
	}
	
	/**
	 * 所有2级集下级分类
	 * @return
	 */
	private void setHashMaps(){
		StringBuffer sb = new StringBuffer();
		List<ForumModel> nlist = super.findAll();
		for(int i=0; i<nlist.size(); i++){
			ForumModel f = nlist.get(i);
			this.setLastLayer(f.getLayer());
			if(!f.getIsHidden()&&f.getLayer()>0){
				if(f.getType()==0){
					//sb.append("<span class=\"b\">");
					sb.append("<span>");
				}else{
					sb.append("<span>");
				}
				sb.append("<img id=\"img_f");
				sb.append(f.getForumId());
				sb.append("\" src=\"");
				sb.append(this.getBasicInfoService().findOnly().getImagePath());
				if(!f.getIsList()){
					if(f.getType()==1){
						sb.append("b_1.gif\" alt=\"\"");
					}else{
						sb.append("f_1.gif\" alt=\"\"");
						sb.append(" onclick=\"tree.listTree('f"+f.getForumId()+"');\" ");
					}
				}else{
					if(f.getType()==1){
						sb.append("b_2.gif\" alt=\"\"");
					}else{
						sb.append("f_2.gif\" alt=\"\"");
						sb.append(" onclick=\"tree.listTree('f"+f.getForumId()+"');\" ");
					}
				}
				sb.append("/><a ");
				if(f.getType()==1){
					sb.append(" href=\"");
					sb.append(UrlUtils.getUrl(UrlUtils.FORUM,f.getForumId(),0,null));
					sb.append("\"");
				}else{
					sb.append(" onclick=\"tree.listTree('f"+f.getForumId()+"');\"");
				}
				sb.append(" target=\"rFrame\">");
				sb.append(f.getForumName());
				sb.append("</a></span>\r\n");
				if(f.getType()==0){
					sb.append("<div id=\"tree_f");
					sb.append(f.getForumId());
					sb.append("\"");
					if(f.getIsList()){
						sb.append(" style=\"display:block\"");
					}else{
						sb.append(" class=\"hide\"");
					}
					sb.append(">\r\n");
					sb.append("<div class=\"m ");
					sb.append("layer_");
					sb.append(f.getLayer()+1);
					sb.append("\">");
					sb.append("\r\n");
					sb.append("{m_");
					sb.append(f.getForumId());
					sb.append("}");
					sb.append("</div>\r\n");
					sb.append("</div>");
				}
				this.hashMapAppend("{m_"+f.getForumIdd()+"}", sb.toString());
				sb.delete(0,sb.length());
			}
		}
	}
	
	/*
	@SuppressWarnings("unchecked")
	private List<Forum> findByIdd(int forumIdd) {
		ForumParameter param = new ForumParameter();
		param.setForumIdd(forumIdd);
		List<Forum> list = (List<Forum>) this.getForumService().findByParameter(param);
		return list;
	}
	*/
	
	private BasicInfoService getBasicInfoService() {
		return ServiceWrapper.<BasicInfoService>getSingletonInstance(ServiceLocator.BASICINFO);
	}

	private Map<String, String> getHashMap() {
		if(Validator.isEmpty(hashMap)){
			hashMap = new HashMap<String, String>();
		}
		return hashMap;
	}
	
	private void hashMapAppend(String name, String str){
		String temp = str;
		if(this.getHashMap().get(name)!=null){
			temp = this.getHashMap().get(name).toString();
			temp = temp+str;
		}
		this.getHashMap().put(name,temp);
	}

	
	public int getLastLayer() {
		return lastLayer;
	}

	public void setLastLayer(int lastLayer) {
		if(lastLayer>this.lastLayer){
			this.lastLayer = lastLayer;
		}
	}

	/**
	 * test
	 * @param args
	 */
	public static void main(String args[]){
		com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
		ForumTemplate t = new ForumResults();
		/*
		try {
			t.createForumMenu();
		} catch (IOException e) {
			e.printStackTrace();
		}
		*/
		List<ForumModel> list = t.findAll();
		for(int i=0; i<list.size(); i++){
			ForumModel item = list.get(i);
			System.out.println(item.getForumName());
		}
		
	}

	
	
}

⌨️ 快捷键说明

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