操作日期类?

xueyinian 2003-10-17 01:05:48
javaBean编译通过以后,调用jsp请求时,出现异常。
程序如下:

javaBean***************
package counter;
import java.util.*;
import java.text.SimpleDateFormat;

public class CounterBean{
private Date curDate;
private SimpleDateFormat dateFormat;
private GregorianCalendar targetDate;
private String name;
public CounterBean(){
GregorianCalendar currentDate=new GregorianCalendar();
curDate=(Date)currentDate.getTime();
dateFormat=new SimpleDateFormat("EEE,dd MMMM yyyy");

targetDate.set(targetDate.YEAR,3000);
targetDate.set(targetDate.MONTH,0);
targetDate.set(targetDate.DATE,1);
targetDate.set(targetDate.AM_PM,0);
targetDate.set(targetDate.HOUR,0);
targetDate.set(targetDate.MINUTE,0);
targetDate.set(targetDate.SECOND,0);
name="the new millennium";
}
public String getTodaysDate(){

return (dateFormat.format(curDate));
}

public void setTargetYear(int year){
targetDate.set(targetDate.YEAR,year);
}
public void setTargetMonth(int month){
targetDate.set(targetDate.MONTH,month);
}
public void setTargetDate(int date){
targetDate.set(targetDate.DATE,date);
}
public void setTargetAmpm(int ampm){
targetDate.set(targetDate.AM_PM,ampm);
}
public void setTargetHour(int hour){
targetDate.set(targetDate.HOUR,hour);
}
public void setTargetMinute(int minute){
targetDate.set(targetDate.MINUTE,minute);
}
public void setTargetSecond(int second){
targetDate.set(targetDate.SECOND,second);
}

/*public void setTargetEvent(String eventName){
name=eventName;
}*/
public String getTargetEvent(){
return name;
}
public String getMessage(){
Date millDate=(Date) targetDate.getTime();
int dateTest=millDate.compareTo(curDate);
switch(dateTest){
case 1: long millsecs=(millDate.getTime())-(curDate.getTime());
long msInday=(1000*60*60*24);
long daysToGo=(long)(millsecs/msInday);
return ("Only "+daysToGo+"days to go untill"+name+"!!!");
case 0:
return ("Welcome to the new Millenium!!!");
case -1:
return ("Sorry,counter has expired");
default:
return ("Counter error!");
}
}
}

jsp***********
<%@ page contentType="text/html"%>
<html>
<head><title>Counter</title></head>
<body>
<jsp:useBean id="counter" scope="page" class="counter.CounterBean" />
The current date is
<jsp:getProperty name="counter" property="todaysDate" />
<jsp:getProperty name="counter" property="message" />
</body>
</html>


错误如下:列出了第一行
exception
javax.servlet.ServletException: class counter.CounterBean : java.lang.NullPointerException
root cause
java.lang.InstantiationException: class counter.CounterBean : java.lang.NullPointerException
...全文
29 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuhao081 2003-10-17
  • 打赏
  • 举报
回复
看来问题是解决了
liushenling 2003-10-17
  • 打赏
  • 举报
回复
看来已经解决了!我就不多说了!
xueyinian 2003-10-17
  • 打赏
  • 举报
回复
多谢大家
djws 2003-10-17
  • 打赏
  • 举报
回复
程序看不到呀,如果是None Exception...指的是空指针错误,也就是说你的某个对象值为null,而你又使用了他的函数,例如,
String abc = null;
boolean chk = abc.equals("abc");
就会出现这种错误,你要查你的程序,是否有这种情况,一个常见的错误是
java.util.Date mydate = (java.util.Date) session.getAttribute("Date");
而此时session中并无Date这一参数,这时mydate的值就为空(request.getString("xxx")也一样),
如果你用mydate.getTime()就会出现空指针错,
你应该先行避免这种情况,
if(mydate==null)
mydate = new java.util.Date();
此时在调用mydate.getTime()就不会出错了
老土豆T 2003-10-17
  • 打赏
  • 举报
回复
<jsp:getProperty name="counter" property="todaysDate" />
<jsp:getProperty name="counter" property="message" />

改成。

<%=counter.getTodaysDate()%> <%=counter.getMessage()%>
xueyinian 2003-10-17
  • 打赏
  • 举报
回复
怎么解决
aku0708 2003-10-17
  • 打赏
  • 举报
回复
是空指针错误

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧