一、问题描述:
在 .jsp 文件中的el表达式,不能解析 ${data} ,也就是说 ${data} 的值不能传递到前端页面。
测试代码如下:
最终输出的结果应该为
Hello World!
See you!
但实际输出结果为:
二、解决方法:
1、在 web.xml 中修改。
将 web.xml 文件内容全部替换为如下内容:
<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
</web-app>
2、到项目所在路径更改 .setting 文件中的 org.eclipse.wst.common.project.facet.core.xml 文件。
可在项目中任何一个文件夹或文件上点右键,选最下方的properties来查找。
这里右键点击项目名(以 webTest 为例),点击 Properties ,在 Resource 中点击进入项目存放文件夹(或者直接在我的电脑中打开项目下的 .setting 文件夹)。
进入项目文件夹,找到 .setting 文件夹,并在 .setting 文件夹中找到 org.eclipse.wst.common.project.facet.core.xml 文件 (.setting 文件中名字最长的那一个)。
打开 org.eclipse.wst.common.project.facet.core.xml 文件。
将 <installed facet="jst.web" version="2.3"/> 中的 2.3 改为要用的版本,这里改为 3.0。
改完后保存退出。
3、清理项目
选中要清理的项目名(这里以 webTest 为例),选中 webTest ,点击上方的 Project ,找到 Clean 。
点击进入 Clean 界面,可以选择 Clean all projects 也可以选择 clean 选中的项目。
等待片刻,也可以通过查看右下角的进度条,或者 Progress 来查看进度。
clean 的作用是将工程中的 .class 文件删除,同时重新编译工程。
4、删除原先项目的 Tomcat Server 并重新创建
Clean 完成之后,发现 web 项目运行结果为 Not Found ,此时需要将 web 项目的原有 Tomcat 删除,并重新创建新的 Tomcat 。启动 Tomcat 后,重新在浏览器中输入 localhost:8080/项目名/文件名.jsp 。
三、结果
可以看到 ${data} 的值被传到前端页面中。