📄 forumresults.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 + -