属性编辑器未在PropertyEditorManager中注册?

大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。

前言

好不容易将代码都写完了,结果一运行,报错!!HTTP Status 500 - Unable to convert string "${book.btime}" to class "java.util.Date" for attribute "value": Property Editor not registered with the PropertyEditorManager。

01

发现Bug

原来写的项目没有用maven,是可以正常运行的,在用maven搭建ssm框架做案例的时候,代码还是原来的代码,但是运行的时候报错,错误信息为:

HTTP Status 500 - Unable to convert string "${book.btime}" to class
 "java.util.Date" for attribute "value": Property Editor not registered with the PropertyEditorManager。

出错之后先看了看idea的控制台:

发现是没有问题的(其实直接分析错误进行,只是习惯了报错就去看控制台……),那就是前端的问题,进一步分析错误,是格式转换的异常。无法将字符串“ $ {book.btime}”转换为属性“值”的类“ java.util.Date”,

02

解决Bug

问题知道了,原因也知道了,那么怎么解决呢?只需要在当前页面(index.jsp)中前面加入一行代码:

<%@ page isELIgnored="false"%>

<%@ page isELIgnored="false"%>的作用是什么呢?

原来,在每个JSP中都可以指定该JSP是否使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:

<%@ page isELIgnored="true|false"%>

如果设定为true,也就是EL被忽略,那么JSP中的表达式被当成字符串处理。比如我上面的字符串想要以日期类型来显示,当然转换错误,而isELIgnored="false"时把${book.btime}解析成日期格式再显示出来,故正常显示,问题解决。

今天的分享就到这里啦~

往期精彩

如何给你的Idea换一个好看漂亮的主题

2021-02-24

实例!使用Idea创建SSM框架的Maven项目

2021-02-23

手把手教你搭建Maven项目

2021-02-22

新春视频剪辑

2021-02-21

点分享

点点赞

点在看

原文地址:https://www.cnblogs.com/a1111/p/14877308.html