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

📄 bookmarkchannel.java

📁 JAVA邮件系统
💻 JAVA
字号:
/* www.365d0.com 个人定制模块 2000.7.12
 *
 */

import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;

/*
 * 从Channel派生的书签类
 *
 * @author Liyan
 */

public class BookmarkChannel extends Channel
{
	//在构造函数中命名本频道
	BookmarkChannel()
	{
		channelName = "书签";
	}
	
	public boolean editChannel(Person p,HtmlOuter Html)
	{
		return true;
	}
	//实现makeChannel方法
	public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
	{
		//定义单个模板
		SingleTemplate st,st2;

		//在全局变量tempList中找到"频道"模板
		st = tempList.searchTemplate("频道2");
		if(st==null) return ;
		
		
		int nKey = st.getKeyNum ();
		String sKey ;
		for(int j=0;j<nKey;j++){
			desHtml.addString (st.getStringAt (j));
			sKey = st.getKeyAt (j);
			if( sKey.compareTo("cgi-path")==0 )
				desHtml.addString (CommonMethods.sHostNameCGI);

			if( sKey.compareTo("标题")==0 )
				desHtml.addString (	channelName );

			if( sKey.compareTo("链接")==0 )
				desHtml.addString (	"BookmarkServlet" );

			if( sKey.compareTo("名称")==0 )
				desHtml.addString (	"我的书签" );
			
			if( sKey.compareTo("CloseCGI")==0 )
				desHtml.addString("CloseChannel?channel=bookmark" );
			
			if( sKey.compareTo("内容")==0 ) {
			//另外一个模板:
				String channelContent = "",sName[],sLink[],sAddition[];
				int nLarge=5;
				st2 = tempList.searchTemplate("书签");
				if(st2==null) {
					return ;
				}
				sName=new String[nLarge];
				sLink=new String[nLarge];
				//sAddition=new String[4];
				int nKey2 = st2.getKeyNum (),i=1;
				//读sName和sLink
				Bookmark bookmark=new Bookmark();
				bookmark.setQuery("attrib","link");
				bookmark.query(p.getName());
				for(i=0;i<nLarge;i++) {
					if(bookmark.read()) {
						sName[i]=bookmark.getName();
						sLink[i]=bookmark.getContent();
					} else {
						break;
					}
				}
				bookmark.clear();
				String sKey2 ;
				for(int l=0;l<i;l++){
					for(int k=0;k<nKey2;k++){
						desHtml.addString (st2.getStringAt (k));
						sKey2 = st2.getKeyAt (k);
						if( sKey2.compareTo("cgi-path")==0 )
							desHtml.addString (CommonMethods.sHostNameCGI);
						if( sKey2.compareTo("链接")==0 )
							desHtml.addString("BookmarkServlet?link="+sLink[l]);
						if( sKey2.compareTo("名称")==0 )
							desHtml.addString(sName[l]);
					}
				desHtml.addString (st2.getEndString());
				}
			}
		}
		desHtml.addString (st.getEndString());
		return;
	}
	public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
	{
		return ;
	}
	
	//书签自己的主函数:
	public void makeBookmark_Main(Person p,TemplateList tempList,HtmlOut desHtml,
								  String sFindItem,String sFindValue,String sAdd)
	{
		SingleTemplate st,st2;
		String channelContent = "",sFolderName="";
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return ;
		}
		TemplateList tempList2=CommonMethods.getBookmark_ShowTemplate();
		st2= tempList2.searchTemplate("ROOT");
		if(st2==null) {
			return ;
		}
		Bookmark bookmark = new Bookmark();
		if(sFindItem.compareTo("")!=0) {
			if(sFindValue==null||sFindValue=="")
				sFindValue="0";
			bookmark.setQuery(sFindItem,sFindValue);
		}
		bookmark.query(p.getName());
		String sName[],sAttrib[],sContent[],sAddition[];
		int nBookmarkID[],nParentID=0,nPage=100;
		nBookmarkID=new int[nPage];
		sName=new String[nPage];
		sAttrib=new String[nPage];
		sAddition=new String[nPage];
		sContent=new String[nPage];
		int j=1;
		while (bookmark.read())
		{
			if (j>nPage-1) break;
			nBookmarkID[j]=bookmark.getBookmarkId();
			sName[j]=bookmark.getName();
			sAttrib[j]=bookmark.getAttrib();
			sContent[j]=bookmark.getContent();
			sAddition[j]=bookmark.getAddition();
			j++;
		}
		bookmark.clear();
		//取得上层目录号:
		bookmark.setQuery("BookmarkID",sFindValue);
		bookmark.query(p.getName());
		if(bookmark.read()) {
			nParentID=bookmark.getParentID();
			sFolderName=bookmark.getName()+"&gt;";
		}
		bookmark.clear();
		int n=nParentID;
		while (n!=0) 
		{
			bookmark.setQuery("BookmarkID",""+n);
			bookmark.query(p.getName());
			if(bookmark.read()) {
				n=bookmark.getParentID();
				String sTemp=bookmark.getName();
				sFolderName=sTemp+"&gt;"+sFolderName;
			}
			bookmark.clear();
			if(n==0) break;
		}
		sFolderName="我的书签&gt;"+sFolderName;
		int nKey = st.getKeyNum();
		int n2Key = st2.getKeyNum();
		String sKey,s2Key;
		for(int i=0;i<nKey;i++) {
			desHtml.addString (st.getStringAt (i));
			sKey = st.getKeyAt (i);
			if( sKey.compareTo("cgi-path")==0 )
				desHtml.addString (CommonMethods.sHostNameCGI);
				
			if( sKey.compareTo("内容")==0 )
			{
				for(int l=1;l<j;l++) {
					for(int k=0;k<n2Key;k++) {
						desHtml.addString (st2.getStringAt (k));
						s2Key = st2.getKeyAt (k);
						if( s2Key .compareTo("cgi-path")==0 )
							desHtml.addString (CommonMethods.sHostNameCGI);
						if( s2Key.compareTo("BookmarkID")==0 )
							desHtml.addString (""+nBookmarkID[l]);
						if( s2Key.compareTo("图标属性")==0 ) {
							//desHtml.addString (sAttrib[l]);
							if(sAttrib[l].trim().compareTo("folder")==0)
								desHtml.addString("<img src=/img/folder.gif>");
							else
								desHtml.addString("<img src=/img/file.gif>");
						}
						if( s2Key.compareTo("名称")==0 )
							desHtml.addString (sName[l]);
						if( s2Key.compareTo("简要说明")==0 )
							desHtml.addString (sAddition[l]);
						
						if(sAttrib[l].trim().compareTo("folder")==0)
						{
							if( s2Key.compareTo("标记")==0 )
							desHtml.addString ("parentID");
						if( s2Key.compareTo("链接")==0 )
							desHtml.addString (""+nBookmarkID[l]);
						} else {
							if( s2Key.compareTo("标记")==0 )
								desHtml.addString ("link");
							if( s2Key.compareTo("链接")==0 )
								desHtml.addString (sContent[l]+" target=_blank");
						}
					}
					desHtml.addString(st2.getEndString());
				}
			}
			
			if( sKey.compareTo("上层目录")==0 )
							desHtml.addString (""+nParentID);
			
			if( sKey.compareTo("当前目录")==0 )
							desHtml.addString (sFindValue);
			if( sKey.compareTo("当前目录名")==0 )
							desHtml.addString (sFolderName);
			//添加界面的显示:
			if(sKey.compareTo("添加")==0)
			   desHtml.addString(sAdd);
		}
		desHtml.addString(st.getEndString());
		return;
	}

	//书签的编辑界面:
	public void makeBookmark_Edit(Person p,TemplateList tempList,
									  HtmlOut desHtml,String[] sArray)
	{
		SingleTemplate st;
		String sKey="";
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return ;
		}
		int nKey=st.getKeyNum();
		for(int i=0;i<nKey;i++) {
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			if(sKey.compareTo("bookmarkID")==0)
			   desHtml.addString(sArray[1]);
			if(sKey.compareTo("name")==0)
			   desHtml.addString(sArray[2]);
			if(sKey.compareTo("attrib")==0)
			   desHtml.addString(sArray[3]);
			if(sKey.compareTo("parentID")==0)
			   desHtml.addString(sArray[4]);
			if(sKey.compareTo("content")==0)
			   desHtml.addString(sArray[5]);
			if(sKey.compareTo("addition")==0)
			   desHtml.addString(sArray[6]);
		}
		desHtml.addString(st.getEndString());
	}

	public boolean editChannel(Person p,HtmlOut Html){
		return true;
	}

	//书签添加界面:
	public void makeBookmark_Add(Person p,TemplateList tempList,
								 HtmlOut desHtml,String sFlag,String sCurrentFolder)
	{
		SingleTemplate st;
		String channelContent = "",cardStr = "";
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return ;
		}
		desHtml.addString(st.getEndString());
	}
}

⌨️ 快捷键说明

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