📄 dictionarychannel.java
字号:
/**
* 替换字典模板
*
*DictionaryChannel.java
* @author Zhu Jian Min
* 2000.8.4
*/
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
/**
*
*
* @author Zhu Jian Min
*/
public class DictionaryChannel extends Channel
{
DictionaryChannel(){
channelName = "字典";
}
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
//定义单个模板
SingleTemplate st,st2;
String channelContent = "",cardStr = "";
//在全局变量tempList中找到"频道"模板
st = tempList.searchTemplate("频道3");
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 )
makeChannelContents( p, tempList, desHtml);
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString("CloseChannel?channel=dictionary" );
}
desHtml.addString (st.getEndString());
return;
}
public void makeDictionary(TemplateList tempList,String eword,HtmlOut desHtml
)
{
SingleTemplate st;
String meaning;
String option;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID(desHtml.TEMPLATE_NOTFIND,"",
"未找到字典主模板","Login?channel=dictionary");
return ;
}
if(eword!=null){
eword=eword.trim();
int k=eword.indexOf("'");
if (k!=-1)
eword="";
}
//如果字典模板找到了
String queryString;
ResultSet rs,rs1;
int ID;//英语单词在数据库的ID
String chineseword;//汉字
DBOperater DB = new DBOperater ("yhcd and zwjs");
try
{
rs=DB.executeQuery("Select * From yhcd,zwjs Where YWDC='"+eword+"'");
if(rs!=null){
//如果字典数据库中有此单词
if (rs.next()){
//查找汉字数据库中对应的单词
ID=rs.getInt(1);
rs.close();
try{
rs1=DB.executeQuery("select CX,ZWJS from zwjs where ID='"+ID+"'");
if(rs1!=null){
//如果汉字数据库中有此ID,则分析模板,将数据显示到模板上
if(rs1.next()){
option=rs1.getString(1);
meaning=rs1.getString(2);
int nkey;
String skey;
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("eword")==0){
desHtml.addString(eword);
}
if(skey.compareTo("option")==0){
desHtml.addString(option);
}
if(skey.compareTo("meaning")==0){
desHtml.addString(meaning);
}
}
desHtml.addString(st.getEndString());
}
else{
desHtml.setErrorID(desHtml.USER_ANSWER_IS_INCORRECT,
"",
"对不起,字典中没有此单词的汉语意思","Login?channel=dictionary");
DB.close();
}
DB.close();
}
else{
DB.close();
return;
}
}catch(Exception ex){
System.err.println("SQLException: " + ex.getMessage());
DB.close();
return;
}
}//如果字典数据库中没有此单词
else{
desHtml.setErrorID(desHtml.USER_ANSWER_IS_INCORRECT,
"","对不起,字典中没有此单词","Login?channel=dictionary");
DB.close();
}
}else{
DB.close();
return;
}
} catch(Exception ex) {
System.err.println("SQLException: " + ex.getMessage());
DB.close();
return ;
}
return ;
}
public void makeChannelContents(Person p,TemplateList tempList ,
HtmlOut desHtml){
SingleTemplate st;
st = tempList.searchTemplate("字典");
if(st==null){
return ;
}
//now get all mails ;
int nKey = st.getKeyNum ();
String sKey ;
for(int i=0;i<nKey;i++){
sKey = st.getKeyAt (i);
desHtml.addString (st.getStringAt (i));
}
desHtml.addString (st.getEndString ());
return ;
}
public boolean editChannel(Person p,HtmlOut Html){
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -