📄 cardchannel.java
字号:
/* www.365d0.com 个人定制模块 2000.7.12
*
*/
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
/*
* 从Channel派生的名片类
*
* @author Chen Xin Wu, Lisheng, Liyan
*/
public class CardChannel extends Channel
{
//在构造函数中命名本频道
CardChannel()
{
channelName = "通讯录";
}
public boolean editChannel(Person p,HtmlOuter Html)
{
return true;
}
//实现makeChannel方法
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
//定义单个模板
SingleTemplate st,st2;
String channelContent = "",cardStr = "";
//在全局变量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("CloseCGI")==0 )
desHtml.addString("CloseChannel?channel=card" );
if( sKey.compareTo("内容")==0 )
makeChannelContent( p, tempList, desHtml);
if( sKey.compareTo("链接")==0 )
desHtml.addString("CardServlet");
}
desHtml.addString (st.getEndString());
return;
}
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml){
}
public void makeChannelContent(Person p,TemplateList tempList,HtmlOut desHtml)
{
SingleTemplate st;
String channelContent = "";
st = tempList.searchTemplate("通讯录");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
Card card = new Card();
card.clear();
card.query(p.getName());
int nRecordLength=1;
String name[],eMail[],phone[];
name=new String[4];
eMail=new String[4];
phone=new String[4];
while (card.read())
{
if (nRecordLength>3) break;
name[nRecordLength]="<a href=\"CardServlet?flag=edit&ID=" +card.getID() + "\">"+card.getCardName()+"</a>";
eMail[nRecordLength]=card.getEMail();
phone[nRecordLength]=card.getPhone();
nRecordLength++;
}
card.clear();
int nKey = st.getKeyNum (),nKey2;
String sKey,sKey2 ;
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("Cards")==0 )
{
SingleTemplate st2 = tempList.searchTemplate ("单名片");
if(st2==null) {
return ;
}
nKey2 = st2.getKeyNum();
for(int k=1;k<nRecordLength;k++)
for(int j=0;j<nKey2;j++){
desHtml.addString (st2.getStringAt (j));
sKey2 = st2.getKeyAt(j);
if( sKey2 .compareTo("cgi-path")==0 )
desHtml.addString (CommonMethods.sHostNameCGI);
if( sKey2.compareTo("姓名")==0 )
desHtml.addString (name[k]);
if( sKey2.compareTo("EMail")==0 )
if(eMail[k]!=null)
if(eMail[k].trim().compareTo("")!=0)
desHtml.addString("<a href=SendMailServlet?to='"+eMail[k]+"'&init=true target='_blank'>"+eMail[k]+"</a>");
if( sKey2.compareTo("电话")==0 )
desHtml.addString (phone[k]);
}
desHtml.addString (st2.getEndString());
}
}
desHtml.addString (st.getEndString());
return ;
}
public void makeCard_Main(Person p,TemplateList tempList,HtmlOut desHtml,
String sFindItem,String sFindValue)
{
SingleTemplate st,st2;
String channelContent = "";
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
System.out.println ("find st error1");
return ;
}
TemplateList tempList2=CommonMethods.getCard_ShowTemplate();
if(tempList2==null){
System.out.println ("find st error2");
}
st2= tempList2.searchTemplate("ROOT");
if(st2==null) {
System.out.println ("find st error3");
return ;
}
Card card = new Card();
card.clear();
if(sFindItem!=null&&sFindItem!="")
card.setQuery(sFindItem,sFindValue);
card.query(p.getName());
String name[],eMail[],phone[],sCity[];
int ID[],nPage=100;
ID=new int[nPage];
name=new String[nPage];
eMail=new String[nPage];
phone=new String[nPage];
sCity=new String[nPage];
int j=1;
while (card.read())
{
if (j>nPage-1) break;
ID[j]=card.getID();
name[j]=card.getCardName();
eMail[j]=card.getEMail();
sCity[j]=card.getCity();
phone[j]=card.getPhone();
j++;
}
card.clear();
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("ID")==0 )
desHtml.addString (""+ID[l]);
if( s2Key.compareTo("姓名")==0 )
desHtml.addString (name[l]);
if( s2Key.compareTo("EMail")==0 )
desHtml.addString(eMail[l]);
if( s2Key.compareTo("城市")==0 )
desHtml.addString (sCity[l]);
if( s2Key.compareTo("电话")==0 )
desHtml.addString (phone[l]);
}
}
desHtml.addString(st2.getEndString());
}
}
desHtml.addString(st.getEndString());
return;
}
public void makeCard_Edit(Person p,TemplateList tempList,HtmlOut desHtml,int nID)
{
SingleTemplate st;
String channelContent = "",cardStr = "",sCompare;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
String sKey,sArray[]=new String[24];
int nKey=st.getKeyNum();
Card card=new Card();
card.setQuery("ID",""+nID);
card.query(p.getName());
if(card.read())
sArray=card.getDataArray();
card.clear();
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);
}
for(int k=1;k<10;k++) {
if (sArray[k]==null)
sArray[k]="";
if(sKey.compareTo("a00"+k)==0)
desHtml.addString(""+sArray[k].trim());
}
//10是国家
for(int k=10;k<24;k++) {
if (sArray[k]==null)
sArray[k]="";
if(sKey.compareTo("a0"+k)==0)
desHtml.addString(""+sArray[k].trim());
}
}
desHtml.addString(st.getEndString());
}
public boolean editChannel(Person p,HtmlOut Html){
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -