📄 weatherchannel.java
字号:
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
public class WeatherChannel extends Channel
{
WeatherChannel()
{
channelName = "天气";
}
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
SingleTemplate st;
st = tempList.searchTemplate("频道");
if(st==null)
return ;
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 )
desHtml.addString ( channelName );
if( sKey.compareTo("EditCGI")==0 )
desHtml.addString ( "EditChannel?channel=weather" );
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString ( "CloseChannel?channel=weather" );
if (sKey.compareTo ("内容")==0)
this.makeChannelContents (p,tempList,desHtml);
}
desHtml.addString(st.getEndString());
return ;
}
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
{
String userName="";
// WeatherContent weatherContent;
// weatherContent = new WeatherContent[5];
userName=p.getName ();
if (userName ==null)
userName="";
else
userName=userName.trim ();
SingleTemplate st;
st = tempList.searchTemplate("天气");
WeatherContent weatherContent ;
weatherContent = new WeatherContent();
weatherContent.getWeather (userName);
int cityNum=weatherContent.getCityNum ();
if( st == null)
return;
int nKey = st.getKeyNum ();
String sKey;
for(int i=0;i<nKey;i++){
sKey = st.getKeyAt (i);
int maxCityNum;
try{
maxCityNum = Integer.valueOf (
sKey.substring (sKey.length ()-1,sKey.length ()),10 ).intValue();
}catch(Exception e)
{
maxCityNum =0;
}
if(sKey!=null&&sKey.length ()>0&& maxCityNum >cityNum )
continue;
desHtml.addString (st.getStringAt (i));
if( sKey.compareTo("今天1")==0 )
desHtml.addString ( weatherContent.getWeatherToday () );
if( sKey.compareTo("明天1")==0 )
desHtml.addString ( weatherContent.getWeatherTomorrow () );
//替换第一个城市的天气信息
if( sKey.compareTo("城市1")==0 )
desHtml.addString ( weatherContent.getCity (0));
if( sKey.compareTo("天气241")==0 )
desHtml.addString ( weatherContent.getWeatherCondition24 (0) );
if( sKey.compareTo("温度241")==0 )
desHtml.addString ( weatherContent.getWeatherLow24 (0)+weatherContent.getWeatherHigh24 (0));
if( sKey.compareTo ("天气481")==0)
desHtml.addString ( weatherContent.getWeatherCondition48 (0) );
if (sKey.compareTo("温度481")==0)
desHtml.addString (weatherContent.getWeatherLow48 (0) +weatherContent.getWeatherHigh48 (0));
//替换第二个城市的天气信息
if( sKey.compareTo("城市2")==0 )
desHtml.addString ( weatherContent.getCity (1));
if( sKey.compareTo("天气242")==0 )
desHtml.addString ( weatherContent.getWeatherCondition24 (1) );
if( sKey.compareTo("温度242")==0 )
desHtml.addString ( weatherContent.getWeatherLow24 (1) + weatherContent.getWeatherHigh24 (1));
if( sKey.compareTo ("天气482")==0)
desHtml.addString ( weatherContent.getWeatherCondition48(1) );
if (sKey.compareTo("温度482")==0)
desHtml.addString (weatherContent.getWeatherLow48 (1)+weatherContent.getWeatherHigh48 (1));
//替换第三个城市的天气信息
if( sKey.compareTo("城市3")==0 )
desHtml.addString ( weatherContent.getCity (2));
if( sKey.compareTo("天气243")==0 )
desHtml.addString ( weatherContent.getWeatherCondition24 (2) );
if( sKey.compareTo("温度243")==0 )
desHtml.addString ( weatherContent.getWeatherLow24 (2) + weatherContent.getWeatherHigh24 (2));
if( sKey.compareTo ("天气483")==0)
desHtml.addString ( weatherContent.getWeatherCondition48 (2) );
if (sKey.compareTo("温度483")==0)
desHtml.addString (weatherContent.getWeatherLow48 (2)+weatherContent.getWeatherHigh48 (2));
//替换第四个城市的天气信息
//
if( sKey.compareTo("城市4")==0 )
desHtml.addString ( weatherContent.getCity (3));
if( sKey.compareTo("天气244")==0 )
desHtml.addString ( weatherContent.getWeatherCondition24 (3) );
if( sKey.compareTo("温度244")==0 )
desHtml.addString ( weatherContent.getWeatherLow24 (3) + weatherContent.getWeatherHigh24 (3));
if( sKey.compareTo ("天气484")==0)
desHtml.addString ( weatherContent.getWeatherCondition48 (3) );
if (sKey.compareTo("温度484")==0)
desHtml.addString ( weatherContent.getWeatherLow48(3) + weatherContent.getWeatherHigh48(3) );
//替换第五个城市的天气信息
if( sKey.compareTo("城市5")==0 )
desHtml.addString ( weatherContent.getCity (4));
if( sKey.compareTo("天气245")==0 )
desHtml.addString ( weatherContent.getWeatherCondition24 (4) );
if( sKey.compareTo("温度245")==0 )
desHtml.addString ( weatherContent.getWeatherLow24 (4) + weatherContent.getWeatherHigh24 (4));
if( sKey.compareTo ("天气485")==0)
desHtml.addString ( weatherContent.getWeatherCondition48 (4) );
if (sKey.compareTo("温度485")==0)
desHtml.addString (weatherContent.getWeatherLow48 (4)+weatherContent.getWeatherHigh48 (4));
}
desHtml.addString(st.getEndString());
return ;
}
public boolean editChannel(Person p,HtmlOut desHtml)
{
TemplateList tempList=CommonMethods.getWeatherEditTemplate ();
String userName="";
userName=p.getName ();
if (userName==null)
return false;
else
userName = userName.trim ();
if (userName =="")
return false;
WeatherContent weatherContent ;
weatherContent = new WeatherContent();
weatherContent.getWeather (userName);
int cityNum=weatherContent.getCityNum ();
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null)
return false;
String sKey ;
int nAwoke=0;
int nHours=0;
DBOperater DB = new DBOperater ("person");
ResultSet rs = DB.executeQuery ("select weatherawoke,weatherawokehour from person where username='"+userName+"'");
if(rs!=null){
try{
if( rs.next () )
{
nAwoke = rs.getInt (1);
nHours = rs.getInt (2);
}
}
catch(Exception e){
}
}
DB.close ();
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("城市1")==0 )
desHtml.addString (weatherContent.getCity (0));
if( sKey.compareTo("城市2")==0 )
desHtml.addString (weatherContent.getCity (1));
if( sKey.compareTo("城市3")==0 )
desHtml.addString (weatherContent.getCity (2));
if( sKey.compareTo("城市4")==0 )
desHtml.addString (weatherContent.getCity (3));
if( sKey.compareTo("城市5")==0 )
desHtml.addString (weatherContent.getCity (4));
if (sKey.compareTo ("提醒时间")==0)
desHtml.addString (""+nHours);
if (( sKey.compareTo ("寻呼")==0) && (nAwoke / 2)==1)
desHtml.addString ("寻呼");
if ((sKey.compareTo ("SMS")==0) && (nAwoke % 2 )==1)
desHtml.addString ("SMS");
}
desHtml.addString(st.getEndString());
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -