📄 dateshowday.java
字号:
/*
*
*/
import java.io.*;
import java.text.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DateShowDay extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
HtmlOut htmlOut = new HtmlOut(response);
// 得到名字和口令
String name,pass;
Person person = new Person();
person.setName (CommonMethods.GetUserName(request));
pass = CommonMethods.GetUserPass (request);
//判断用户名及密码是否合法
if( person.getName ()==null || (!person.checkPassword(pass)) )
{
htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
"请先登录",
"Login?action=reLog");
htmlOut.outHtml();
return;
}
name= person.getName ().trim();
String action=request.getParameter("action");
if( action != null && action.compareTo("tx")==0 ){
String sSet= request.getParameter ("set");
String sSet1= request.getParameter ("warnby1");
String sSet2= request.getParameter ("warnby2");
DBOperater DB = new DBOperater ("train");
String queryString;
int nTrainTX = 0;
if( sSet!=null ){
if( sSet1!=null ){
nTrainTX |= 1;
}
if( sSet2!=null ){
nTrainTX |= 2;
}
DB.executeUpdate ( "update person set datetx="
+nTrainTX +" where username='"
+person.getName()+"'" );
DB.close ();
htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE_WITHCLOSE ,
"","设置成功!"
,"");
return ;
}
ResultSet rs ;
try{
rs= DB.executeQuery ("select datetx from person where username='"
+person.getName()+"'" );
if(rs.next ())
nTrainTX=rs.getInt (1);
}catch(Exception e){
}
DB.close();
TemplateList tempList = CommonMethods.getDZTemplate();
SingleTemplate st = tempList.searchTemplate ("ROOT");
String sKey;
for( int i=0;i<st.getKeyNum ();i++){
sKey=st.getKeyAt (i);
htmlOut.addString(st.getStringAt (i));
if( sKey.compareTo("cgi-path")==0 )
htmlOut.addString (CommonMethods.sHostNameCGI);
if( sKey.compareTo ("warnby")==0)
htmlOut.addString (Integer.toString (nTrainTX));
if( sKey.compareTo ("warncgi")==0)
htmlOut.addString ("HbServlet");
}
htmlOut.addString(st.getEndString ());
htmlOut.outHtml();
return;
}
String year= new String ();
String month= new String();
String day= new String ();
year = request.getParameter("y");
month = request.getParameter ("m");
day = request.getParameter ("d");
Calendar myCalendarChange = Calendar.getInstance ();
MyCalendar myCalendar = new MyCalendar() ;
//判断年月日是否为空
if ((year == null)||(month == null)|| (day == null))
{
year = myCalendarChange.get(myCalendarChange.YEAR )+"";
month = (myCalendarChange.get (myCalendarChange.MONTH )+1)+"";
day = myCalendarChange.get(myCalendarChange.DATE )+"";
/*htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
"请选择正确的日期","Login");
htmlOut.outHtml();
return;*/
}
int nYear;
try{
nYear = Integer.valueOf(year).intValue ();
}catch(Exception e){
nYear = myCalendarChange.get (myCalendarChange.YEAR);
}
int nMonth;
try{
nMonth=Integer.valueOf(month).intValue ();
}catch(Exception e){
nMonth=myCalendarChange.get (myCalendarChange.MONTH)+1;
};
int nDay;
try{
nDay= Integer.valueOf(day).intValue ();
}catch(Exception e){
nDay =myCalendarChange.get(myCalendarChange.DATE );
}
if ((nYear <2050 ) && (nYear >= 1900) || (nYear ==1900 && nMonth>1 && nMonth<=12))
;
else
{
htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
"请选择界于1900年2月到2050年之间的年份","Login");
htmlOut.outHtml ();
return;
}
if ((nMonth >=1)&&(nMonth <=12))
;
else{
htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
"请选择界于1-12之间的月份","Login");
htmlOut.outHtml ();
return;
}
if ((nDay>=1)&&(nDay <=myCalendar.getMaxDay (nYear,nMonth) ))
;
else {
htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
"请选择界于1-"+myCalendar.getMaxDay (nYear,nMonth)+"之间的日期","Login");
htmlOut.outHtml ();
return;
}
//得到模板
TemplateList tempList=CommonMethods.getDateShowDayTemplate ();
SingleTemplate st;
st = tempList.searchTemplate ("ROOT");
if(st==null)
return ;
//替换模板文件
String sKey ;
myCalendar.getDate (nYear,nMonth-1 ,nDay);
int yearChange=0;
int monthChange=0;
int nKey = st.getKeyNum ();
for(int i=0;i<nKey;i++){
htmlOut.addString (st.getStringAt (i));
// out.println(st.getStringAt (i));
sKey = st.getKeyAt (i);
if( sKey.compareTo("cgi-path")==0 )
htmlOut.addString (CommonMethods.sHostNameCGI);
if( sKey.compareTo("年月")==0 )
htmlOut.addString ("公元"+nYear+"年"+nMonth+"月");
if( sKey.compareTo ("日")==0)
htmlOut.addString (day+"");
if( sKey.compareTo ("星期")==0)
htmlOut.addString (myCalendar.getWeek ());
if(sKey.compareTo ("阴历")==0)
htmlOut.addString (myCalendar.getNlYear ()+"年"+myCalendar.getNlMonth() + myCalendar.getNlDay ());
if(sKey.compareTo("节日")==0)
{
DBOperater DB= new DBOperater ("Dataholiday");
ResultSet rs = DB.executeQuery ("select Hname from Dateholiday where ((month='"+nMonth+"' and day ='"+ day+"') or ( month='"+myCalendar.getNlMonth ()+"' and day = '"+myCalendar.getNlDay ()+"'))");
//查询今天是否是节日或需要提醒的特别的日子
String sResultDay="";
if (rs!=null){
try{
while(rs.next())
{ sResultDay = rs.getString(1);}
} catch(Exception e){
}
}
DB.close();
htmlOut.addString (sResultDay);
}
if(sKey.compareTo ("日历")==0)
{
htmlOut.addString ( myCalendar.makeCalendar (nYear,nMonth,0));
}
if(sKey.compareTo ("月份")==0)
htmlOut.addString (year+"年"+nMonth+"月");
if(sKey.compareTo ("年")==0)
htmlOut.addString (year);
if(sKey.compareTo ("月")==0)
htmlOut.addString (""+nMonth);
if(sKey.compareTo ("上个月")==0)
{
myCalendarChange.set (nYear,nMonth-2,1);
yearChange = myCalendarChange.get (myCalendarChange.YEAR );
monthChange = myCalendarChange.get (myCalendarChange.MONTH )+1;
if ((yearChange == 1900)&&(monthChange==1))
{
yearChange = 2049;
monthChange = 11;
}
if (monthChange ==0)
{ monthChange =12;
yearChange = yearChange -1;
}
if (nDay > myCalendar.getMaxDay(yearChange,monthChange))
nDay = myCalendar.getMaxDay(yearChange,monthChange);
htmlOut.addString("DateShowDay?y="+yearChange+"&m="+monthChange+"&d="+nDay);
}
if(sKey.compareTo ("下个月")==0)
{
myCalendarChange.set (nYear,nMonth,1);
yearChange = myCalendarChange.get (myCalendarChange.YEAR );
monthChange = myCalendarChange.get (myCalendarChange.MONTH )+1;
if ((yearChange == 2049)&&(monthChange==12))
{
yearChange = 1900;
monthChange = 1;
}
if (monthChange ==0)
{ monthChange =12;
yearChange = yearChange + 1;
}
if (nDay > myCalendar.getMaxDay(yearChange,monthChange))
nDay = myCalendar.getMaxDay(yearChange,monthChange);
//calendar.set(yearChange,monthChange,nDay);
htmlOut.addString("DateShowDay?y="+yearChange+"&m="+monthChange+"&d="+nDay);
}
if (sKey.compareTo ("添加事件")==0)
{
//String addString = "DateUpdateThing?y="+year+"&m="+nMonth+"&d="+day+"&action=add";
String addString = "DateUpdateThing?y="+year+"&m="+nMonth+"&d="+day;
htmlOut.addString (addString);
}
if (sKey.compareTo ("时间安排")==0)
htmlOut.addString (myCalendar.getDatePlan (name));
if (sKey.compareTo ("编辑")==0)
htmlOut.addString ("DateEditDaily?y="+year+"&m="+nMonth+"&d="+day);
if (sKey.compareTo ("日记标题")==0)
htmlOut.addString (myCalendar.getDateDaily (name));
if (sKey.compareTo ("年历")==0)
htmlOut.addString ("DateShowYear?y="+year);
// if (sKey.compareTo ("重要日期")==0)
//htmlOut.addString (myCalendar.getImportAwoke (name));
}
htmlOut.addString (st.getEndString());
//out.println (st.getEndString());
htmlOut.outHtml();
return;
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
doGet(request,response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -