今天第一次接触maven,生成了一个web工程。但是在写测试页面的时候(jsp页面),出现了el表达式无法识别的问题。即${pageContext.request.contextPath}在页面上还是显示pageContext.request.contextPath,‘{pageContext.request.contextPath},`pageContext.request.contextPath,‘{1+1}`,还是现实原本的代码
问题出现原因
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app id="WebApp_ID">
这是原本maven自动生成的头部文件,可能这里出现了不支持el表达式等其他设置
问题解决方法
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
我把头文件改成了其他项目web.xml的头文件,结果就可以正常使用了。
本文介绍了一位初学者在使用Maven创建Web工程时遇到的EL表达式无法解析的问题。通过修改web.xml文件头部,从不支持EL表达式的DTD版本升级到支持EL的2.5版本,成功解决了页面上的表达式不被解析的难题。
2010

被折叠的 条评论
为什么被折叠?



