使用Primefaces poll和自定义DateConverter的奇怪副作用

时间:2016-03-09 21:33:12

标签: jsf primefaces temporal

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

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

这就是我在我的支持bean中所拥有的。 pollNumber只是一个int。它工作正常,打印时间过去了。

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秒(轮询间隔)调用一个月份日期转换器,无论日期字段是否完全填写。所以一分钟我很高兴填写我的日期字段,下一次我被重定向到一个令人讨厌的堆栈跟踪:

  

抱歉,发生错误异常:文字&#39; 05 / ____&#39;无法解析   at index 3完整堆栈跟踪:java.time.format.DateTimeParseException:   文字&#39; 05 / ____&#39;无法在索引3处解析   java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)   在   java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)

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

0 个答案:

没有答案