在我的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标记,问题就会消失。这不是一个严重的错误。这很奇怪。任何输入将不胜感激。谢谢!