Validates unresolved references and invalid expressions异常问题的解决

使用IDEA学习thymeleaf时,页面报了下面的异常:

翻译过来就是:检查信息:验证未解析的引用和无效的表达式。

找了许久,都找不出问题的根源,上网搜索,网友的意见出奇地一致,都说去修改IDEA的设置,如下图:

实际上这种办法无异于掩耳盗铃,治不了标,更治不了根,从字面意思来看,未解析的引用和无效的表达式,意思是页面上引用patient对象是无效的,特地去调试了后台,发现patient对象有值,并赋值给了前端页面,但是,页面上为什么说patient对象是无效的引用呢。后来,我在另一个页面上得到启发,如果有传到前端的对象可以使用,在IDEA中都会有提示,如下图:

然后我在出错的页面试着用这种方法敲,一直都没有提示,那就说明,后台没有将值传过来,所以直接引用当然报错了,既然查出来的patient对象不为空,那会不会页面路径写得有问题呢,用谷歌浏览器去调试,也没报404或者异常,最后发现还是路径那里的写法有问题,下面是我原来的写法,

 model.addAttribute("patient", patient);
 model.addAttribute("report", report);
 return "/system/NewReport";

 而正确的写法是把system前面的斜杠去掉,这样,前端终于可以引用patient对象了,再也不报异常了。说白了,还是自己基础知识不牢,才出现这种低级错误。

总结:thymeleaf页面出现变量引用出错,应考虑后台路径是否写对,对象是否查到并传给前端。

发布了137 篇原创文章 · 获赞 28 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/shenxiaomo1688/article/details/102571167
今日推荐