开发者社区> 问答> 正文

freemarker判断html页面中对象属性的值为null?报错

用户查看页面,userInfo.html里面有个修改时间,时间为空是后台会报错,具体情况请看下面截图;


页面信息和错误信息,请问大家这个问题该要怎么解决?

展开
收起
爱吃鱼的程序员 2020-06-08 20:19:50 1010 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    <#ifuserModel.modifyTime?exists>

     //TODO

    </#if>

    回复 @jet_zhang:厉害了我的哥,测试成功回复 @Mpengpeng:你现在页面能使用${},说明你已经配了html拦截器,你可以直接这样试试value="<#ifuserModel.modifyTime??>${(userModel.modifyTime)?string('yyyy-MM-ddHH:mm:ss')}</#if>"html页面怎么弄?回复 @Mpengpeng:freemarker是ftl页面html页面支持这种写法吗??问号前加个惊叹号!加上后也不行,还是会报错加上后也不行,报错如下:freemarker.template.TemplateException:Expectedmethod.(userModel.modifyTime)!?stringevaluatedinsteadtofreemarker.template.SimpleScalaronline55,column73inuser/userInfo.html.
    页面:<inputtype="text"disabled="disabled"value="${(userModel.modifyTime)!?string('yyyy-MM-ddHH:mm:ss')}"/>
    先用if判断一下吧<#if userModel??&& userModel.modifyTime??></#if>你可以先判断时间是否存在,存在的话执行你原来的这段代码即可 ${(userModel.modifyTime?string('yyyy-MM-ddHH:mm:ss'))!}一样的是undefined,说是找不到modifyTime,但是后台有这个属性,传的是个null值?exists試試
    2020-06-08 20:20:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《零基础HTML入门教程》 立即下载
天猫 HTML5 互动技术实践 立即下载
天猫HTML5互动技术实践 立即下载