今天在部署一個項目時,報了這樣的異常: java
org.apache.jasper.JasperException: Unable to convert string "${topic.postTime}" to class "java.util.Date" for attribute "value": Property Editor not registered with the PropertyEditorManager
起初着實不知道是哪裏的錯.通過幾個小時的扎騰纔有點端倪.
主要緣由是EL表達式沒法被解析到.
其實從後臺取值並傳值到前臺來根本就沒有錯,而前臺JSP頁面EL表達式無效,解析不到EL表達式,引發的緣由是web.xml中: web
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >
maven默認生成的web.xml版本是2.3的,因此有些配置節點idea會識別不出來,所以咱們從新添加一個3.1的。apache
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
還有就是:<%@page isELIgnored="false"%>的優先級要高於web.xml中的設置,因此在JSP中的設置會蓋掉web.xml中的設置.app