Spring MVC-JSP忽略"${message}",页面显示空白求助
解决Spring MVC中EL表达式(${})不显示/页面空白的问题
兄弟,我刚入门Spring MVC的时候也踩过这个EL表达式不显示的坑!别慌,咱们一步步排查,大概率是这几个地方出了问题:
1. 给JSP页面加“强制启用EL”的指令
有些老版本的Web模块(比如你试过的2.4)默认会忽略EL表达式,直接在你的JSP页面最顶部加上这行:
<%@ page isELIgnored="false" %>
另外记得把JSP的编码和内容类型配置好,避免乱码或其他隐性问题:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
2. 检查web.xml的配置是否正确
- 如果用的是动态Web模块2.4(对应Servlet 2.4),必须在web.xml里显式开启EL,否则Tomcat会默认忽略:
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> </jsp-property-group> </jsp-config> - 如果用的是动态Web模块3.1(Servlet 3.1),要确保web.xml的根元素用最新的Schema声明,别用老的DTD,否则会触发兼容模式禁用EL:
<?xml version="1.0" encoding="UTF-8"?> <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">
3. 确认HelloController的数据有没有正确传到页面
这一步很关键!一定要检查你在Controller里有没有把数据放到Model/ModelAndView中,而且键名要和JSP里的${xxx}完全一致(大小写敏感!):
比如用Model的写法:
@Controller public class HelloController { @RequestMapping("/hello") public String hello(Model model) { // 这里的"message"要和JSP里的${message}对应 model.addAttribute("message", "Hello Spring MVC!"); // 返回的"hello"要对应你的JSP文件名(比如hello.jsp) return "hello"; } }
如果用ModelAndView:
@RequestMapping("/hello") public ModelAndView hello() { ModelAndView mv = new ModelAndView("hello"); mv.addObject("message", "Hello Spring MVC!"); return mv; }
4. 检查视图解析器配置
确保Spring的配置文件(比如spring-servlet.xml或者servlet-context.xml)里配置了正确的视图解析器,不然Controller返回的视图名找不到对应的JSP:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 你的JSP文件所在的目录,比如放在/WEB-INF/views/下 --> <property name="prefix" value="/WEB-INF/views/"/> <!-- JSP文件的后缀 --> <property name="suffix" value=".jsp"/> </bean>
5. 清理Tomcat缓存,重启试试
有时候Tomcat的缓存会导致页面没更新,你可以删掉Tomcat安装目录下work/Catalina/localhost/你的项目名这个文件夹,然后重启Tomcat,再访问试试。另外也可以看看Tomcat的日志(localhost.log或者catalina.log),有没有Controller映射错误或者JSP编译报错的信息。
内容的提问来源于stack exchange,提问作者Oguz Ongun
相关产品推荐
相关产品推荐

