我使用标签从Controller到GSP的DATE字段集合 - 但有时会出现空白和无效数据,并且会引发错误。我该如何处理这个NULL指针?
代码< g:formatDate format =" yyyy-MM-dd" date =" $ {objectInstance?.expiryDate}" />
我也尝试过使用它 - $ {objectInstance?.expiryDate?.format(" MM / dd / yyyy")},但没有运气。谢谢预期。
答案 0 :(得分:1)
维涅什,
以下是一些可能的解决方案(假设您可以在日期为空时显示任何内容或某些备用文本):
${try{objectInstance?.expiryDate?.format('MM/dd/yyyy')}catch(e){''}}
或者,您可以使用与上面相同的代码在控制器(我的首选方法)中处理此问题而不将$ {}包装起来并将其设置为模型属性。
[expiryDateFormatted: try{objectInstance?.expiryDate?.format('MM/dd/yyyy')}catch(e){''}]
尝试一下,看看它们是否适合你。
与Vignesh交谈后发现,expiryDate实际上是一个字符串而不是日期。以下是一个适用于字符串值的解决方案。
${try{new Date().parse('yyyy-MM-dd', objectInstance?.expiryDate).format('MM/dd/yyyy')}catch(e){''}}
答案 1 :(得分:0)
在GSP中,您还可以通过以下方式使用formatDate:
${ g.formatDate(format:'yyyy-MM-dd', date: objectInstance?.expiryDate ) }
objectInstance?.expiryDate
为null
时,它将仅呈现空白而不返回错误