java - 为 Web 项目构建 Java 提醒

标签 java timer

我需要一个网络项目来构建一个提醒,显示输入日期和时间的消息。我不想使用任何插件或 jar 文件。我想出了代码,但 timer.schedule(task,date);

中有错误

我也是java新手,不知道这是否是正确的方法。

代码:

public String reminder(Model model, HttpServletRequest req, HttpServletResponse res) throws ParseException
{

    String myDate = "2012-06-09 17:43:20";

    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date date = (Date)formatter.parse(myDate);

    TimerTask task = YoTimes(model);
    Timer timer = new Timer();
    timer.schedule(task,date);

    return "/view";
}

private TimerTask YoTimes(Model model) 
{
    model.addAttribute("timerMsg", "Yo Timer");
    return null;
}

编辑

堆栈跟踪:

ERROR:java.lang.NullPointerException 
    at java.util.Timer.sched(Unknown Source) 
    at java.util.Timer.schedule(Unknown Source)

最佳答案

private TimerTask YoTimes(Model model) 
{
    model.addAttribute("timerMsg", "Yo Timer");
    return null; // ************
}

请查看您要返回的内容!

这会导致 NPE 也就不足为奇了。也许您想返回一个实际的 TimerTask 对象。 ;-)

因此,创建并返回您的 TimerTask:

private TimerTask YoTimes(final Model model) 
{
    model.addAttribute("timerMsg", "Yo Timer");
    return new TimerTask() {
       public void run() {
          // whatever code you want called by the timer
       }
    };
}

关于java - 为 Web 项目构建 Java 提醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10961238/

相关文章:

java - RabbitMq,客户端突然关闭TCP连接

Java反序列化旧对象

java - 如何将不同的菜单项添加到多个上下文菜单?

c - 哪个内核函数调用了用户空间中实现的 timer_settime() 和定时器处理程序?

java - 如何在 mapreduce 作业中处理不同的输入批量大小

java - 遍历列表,同时从列表中删除

java - 终止应用程序后继续运行计时器

ios - 我怎样才能简单地将 View 转换为 SwiftUI View ?

iOS Autologedout - 应用程序在返回时瞬间显示用户屏幕

java - 简单的 Java 倒数计时器