在JqGrid中格式化Joda LocalDate

时间:2017-07-13 13:29:27

标签: jsp datepicker jqgrid jodatime jsp-tags

我正在尝试在jqGrid中转换jodaDateFormat。

我的Entity类中的声明是:

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalDate")
@DateTimeFormat(iso=ISO.DATE)
@Column(nullable=false)
private LocalDate dateStart;

要在视图中查看此日期,我尝试在tagx文件中插入此javascript转换:

<script type="text/javascript">
<![CDATA[
jodaLDFormatter = function (cellValue, options) {
    if(cellValue) {
        return $.datepicker.formatDate(
            'dd/MM/yyyy', 
            new Date(cellValue['year'], 
                    cellValue['monthOfYear']-1, 
                    cellValue['dayOfMonth']));
    } else {
        return '';
    }
};

在JSP页面中,我以这种方式声明了列:

<table:jqcolumn id="l_list_dateStart" property="dateStart" formatter="jodaLDFormatter"/>

但我得到了这个:(来自页面的来源)

<td role="gridcell" style="" title="NaN/NaN/NaNNaN" aria-describedby="l_list_dateStart">NaN/NaN/NaNNaN</td>

我不想转换字符串中的每个日期,以便在jqGrid中查看它!

什么是正确的方法?!

1 个答案:

答案 0 :(得分:1)

我认为你没有将Joda对象传递给视图。可能你从你的控制器发送了一个像[day, month, year]这样的矢量。

如果我的猜测是正确的,您可以在colmodel

中添加
formatter: 'date', srcformat:'dd/mm/yy', date:'true'