0

在我的 JSF 视图范围表单中,我使用 poll 标记打印表单启动后经过的分钟数,如下所示:

<h:outputText id="txt_count" value="You started #{mybean.timeElapsed} minutes ago" />

这就是我的支持 bean 中的内容。pollNumber 只是一个整数。它工作正常并打印经过的分钟数。

public String getTimeElapsed()
    {
        long diffInMinutes = java.time.Duration.between(startTime, LocalDateTime.now())
                .toMinutes();

        return String.valueOf(diffInMinutes);
    }

    public void increment(){
        pollNumber++;
    }

问题是我正在使用自定义日期转换器来获取格式为 MM/yyyy(java.time.YearMonth)的日期。每 5 秒(轮询间隔)调用年月日期转换器,无论日期字段是否已完全填写。所以前一分钟我很高兴填写我的日期字段,接下来我被重定向到一个令人讨厌的堆栈跟踪:

抱歉,发生错误异常:无法在索引 3 处解析文本“05/____”完整堆栈跟踪:java.time.format.DateTimeParseException:无法在 java.time 的索引 3 处解析文本“05/____”。 format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949) 在 java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)

如果我删除 p:poll 标签,问题就会消失。这不是严重错误。这很奇怪。任何输入将不胜感激。谢谢!

4

0 回答 0