我正在使用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>
当我直接在JSP上输出today
的值时,我得到了今天的正确日期:3 12 2018
。
呈现元素时,它选择了错误的日期:01/03/2019
。我认为taglibdocs中没有进一步记载的文件。
我该如何解决?
答案 0 :(得分:2)
问题在于月份值。在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