一尘不染

Liferay日期输入显示错误的日期

jsp

我正在使用Liferay 7.1,我有以下liferau-ui:input-date对象,我想预选一个日期:

<%
    final LocalDate today = LocalDate.now(ZoneId.systemDefault());
%>

<liferay-ui:input-date
    dayValue="<%= today.getDayOfMonth()%>"
    monthValue="<%=today.getMonth().getValue()%>"
    yearValue="<%= today.getYear()%>"
</liferay-ui:input-date>

当我today直接在JSP上输出值时,今天的正确日期是:3 12 2018

呈现元素时,它选择了错误的日期:01/03/2019。我认为没有任何帮助的taglibdocs文档。

我怎样才能解决这个问题?


阅读 169

收藏
2020-06-10

共1个答案

一尘不染

问题是月份值。在Java中,使用liferay
datepicker是1-12,是0-11。为了显示正确的月份,我从月份值中减去了1。这不是一个优雅的解决方案,但我找不到更好的方法。

<liferay-ui:input-date
    dayValue="<%= today.getDayOfMonth()%>"
    monthValue="<%=today.getMonth().getValue() - 1 %>"
    yearValue="<%= today.getYear()%>"
</liferay-ui:input-date>

这将渲染12/03/2018

2020-06-10