开发者社区> 问答> 正文

关于未找到属性(ATTRIBUTE_NOT_FOUND)的问题?报错

@闲.大斌  你好,问一下关于渲染时未找到属性的问题,

<%

for(address in person.addressList)}{

}

%>当addressList属性在person中不存在时,报错未找到属性,页面不能完全渲染,该怎么取判断addressList这个属性在person中不存在,也可以将页面渲染出来。

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

    不行,如果属性都不存在,则说明你的页面渲染逻辑有问题,

    安全输出只是考虑不存在或者为null情况,你这个情况,只能传个标记,表明属性不存在


    因为我现在的模板都是以字符串的形式保存在数据库的,而且需要一个预览模板的功能,数据的渲染和预览都是用同一个模板。按照你上面说的,只能把预览功能砍掉了或者另外在做一套预览的模板(这个不太现实,加标识判断也不是很好)。beetl没有那么灵活,能在属性不存在情况下处理,只能在值不存在的情况,用安全输出来处理。我想其他模板语言也是这样,毕竟,这能防止错误。如果你后台模型都是map,那么,这样访问时可以的。键值不存在,这是正常的,你可以用安全输出。但如果是pojo,无能为力了,只能加个标示符号了是的,感谢大斌大神
    2020-06-10 13:23:19
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载