📄 hbchannel.java
字号:
/* www.365do.com 个人定制模块 2000.7.16
*
*/
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
/*
* 从Channel派生的航班类
*
* @author Liyan
*/
public class HbChannel extends Channel
{
//HbChannel中的全局变量:
String[] sHbhArray,sJxdmArray,sQfsjArray,sLdsjArray,sZxrqArray;
//在构造函数中命名本频道
HbChannel()
{
channelName = "航班查询";
}
//实现频道栏的界面:
public boolean editChannel(Person p,HtmlOut desHtml)
{
TemplateList tempList = CommonMethods.getHbtx_MainTemplate();
SingleTemplate st= tempList.searchTemplate("ROOT");
if(st==null){
return false;
}
int nKey = st.getKeyNum();
String sKey;
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)
makeHbtx_Show(p,desHtml);
}
desHtml.addString(st.getEndString());
return true;
}
//航班提醒的显示界面
public void makeHbtx_Show(Person p,HtmlOut desHtml)
{
SingleTemplate st;
TemplateList tempList = CommonMethods.getHbtx_ShowTemplate();
st = tempList.searchTemplate("ROOT");
if(st==null){
return;
}
Hbtx hbtx = new Hbtx();
hbtx.setTxQuery(p);
int nKey = st.getKeyNum();
String sKey;
while(hbtx.getTxQuery()){
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){
String sTmp="";
sTmp+="<a href=\"HbServlet?flag=jhhbh&hbh="+hbtx.getHbh()+"\">";
sTmp+=hbtx.getHbh();
sTmp+="</a>";
desHtml.addString(sTmp);
}
if(sKey.compareTo("删除")==0){
desHtml.addString(hbtx.getHbh());
}
if(sKey.compareTo("地名")==0){
desHtml.addString(hbtx.getDmdm());
}
if(sKey.compareTo("进出港")==0){
desHtml.addString(hbtx.getInout());
}
if(sKey.compareTo("航班日期")==0){
desHtml.addString(hbtx.getZxrq());
}
if(sKey.compareTo("提前时间")==0){
desHtml.addString(hbtx.getTqtx());
}
if(sKey.compareTo("通知方式")==0){
desHtml.addString(hbtx.getType());
}
}
desHtml.addString(st.getEndString());
}
hbtx.closeTxQuery();
}
//在主界面的显示:
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
//定义单个模板
SingleTemplate st,st2;
//在全局变量tempList中找到"频道"模板
st = tempList.searchTemplate("频道右");
if(st==null){
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误"
,"Login");
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 ( "/Hb.html" );
if( sKey.compareTo("EditCGI")==0 )
desHtml.addString ( "EditChannel?channel=Hb" );
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString("CloseChannel?channel=Hb" );
if( sKey.compareTo("内容")==0 )
{
st2 = tempList.searchTemplate("航班");
if(st2==null){
return ;
}
int nKey2 = st2.getKeyNum();
String sKey2;
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)
makeHbtx_Show(p,desHtml);
}
desHtml.addString(st2.getEndString());
}
}
desHtml.addString (st.getEndString());
return;
}
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
{
return ;
}
//航班查询自己的主界面
//航班计划按航线查询界面:
public void makeHbjh_Line(Person p,TemplateList tempList,HtmlOut desHtml,String sFrom,String sTo,String sDate)
{
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return ;
}
//航班数量:
int nHb=0;
Hb hb = new Hb();
if(hb.jhLineQuery(sFrom,sTo,sDate)){
sHbhArray=hb.getHbhArray();
sJxdmArray=hb.getJxdmArray();
sQfsjArray=hb.getQfsjArray();
sLdsjArray=hb.getLdsjArray();
sZxrqArray=hb.getZxrqArray();
if(sHbhArray!=null)
nHb=sZxrqArray.length;
}
String sKey="";
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("查询方式")==0){
desHtml.addString("按航线");
}
if(sKey.compareTo("起飞机场")==0)
desHtml.addString(sFrom);
if(sKey.compareTo("落地机场")==0)
desHtml.addString(sTo);
if(sKey.compareTo("航班数")==0){
desHtml.addString(""+nHb);
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
makeHbjh_Show1(p,tempList,desHtml,hb,sFrom,sTo,nHb);
}
}
desHtml.addString(st.getEndString());
}
//航班计划按航空公司查询界面:
public void makeHbjh_Company(Person p,TemplateList tempList,HtmlOut desHtml,String sCompany,String sPage)
{
SingleTemplate st;
//页面长度:
int nPageLength=5;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
String sKey="";
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);
}
Hb hb = new Hb();
String[] sHbhArray=hb.getHbJhCompany(sCompany);
if(sKey.compareTo("查询方式")==0){
desHtml.addString("按航空公司");
}
if(sKey.compareTo("jhlinequery1")==0){
desHtml.addString("<!--");
}
if(sKey.compareTo("jhlinequery2")==0){
desHtml.addString("-->");
}
if(sKey.compareTo("航班数")==0){
desHtml.addString(""+sHbhArray.length);
}
int nBegin=CommonMethods.GetInt(sPage,10);
if(sKey.compareTo("page")==0){
String sHtml="<form method=\"POST\" name=\"ok\" action=\"HbServlet?flag=jhcompany&ezdm="+sCompany+"\">";
sHtml+="第<select name=\"page\" onchange=\"document.ok.submit()\">";
for(int j=1;j<sHbhArray.length/nPageLength+2;j++){
if(j==nBegin)
sHtml+="<option selected>"+j+"</option>";
else
sHtml+="<option>"+j+"</option>";
}
sHtml+="</select>页</form>";
desHtml.addString(sHtml);
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
if (sHbhArray!=null){
for(int j=(nBegin-1)*nPageLength;j<sHbhArray.length;j++){
Hb hb2 = new Hb();
String[] sDateArray = hb2.JhZxrqQuery(sHbhArray[j]);
makeHbjh_Show1(p,tempList,desHtml,sHbhArray[j],hb2,sDateArray);
hb2=null;
if(j>(nBegin-1)*nPageLength+nPageLength-2)
break;
}
}
}
}
desHtml.addString(st.getEndString());
}
//航班计划按航班号查询界面:
public void makeHbjh_Hbh(Person p,TemplateList tempList,HtmlOut desHtml,String sHbh)
{
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
String sKey="";
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("查询方式")==0){
desHtml.addString("按航班号");
}
if(sKey.compareTo("jhlinequery1")==0){
desHtml.addString("<!--");
}
if(sKey.compareTo("jhlinequery2")==0){
desHtml.addString("-->");
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
Hb hb = new Hb();
String[] sDateArray = hb.JhZxrqQuery(sHbh);
if(sDateArray==null){
//desHtml.addString("航班号"+sHbh+"未找到!");
}else
makeHbjh_Show1(p,tempList,desHtml,sHbh,hb,sDateArray);
}
}
desHtml.addString(st.getEndString());
}
//航班动态航班号查询界面:
public void makeHbdt_Hbh(Person p,TemplateList tempList,HtmlOut desHtml,String sHbh)
{
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null) {
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
String sKey="";
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("查询方式")==0){
desHtml.addString("按航班号");
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
Hbdt hbdt = new Hbdt();
if(hbdt.DtHbhQuery(sHbh)==false){
desHtml.addString("<tr><td align=center colspan=12>您要找的未找到!<br>");
desHtml.addString("查询相关航班计划:<a href=HbServlet?flag=jhhbh&hbh="+sHbh+">"+sHbh+"</a></td></tr>");
desHtml.addString("</td></tr>");
}else
makeHbdt_Show1(p,tempList,desHtml,hbdt);
}
}
desHtml.addString(st.getEndString());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -