JAVA WEB开发中通常前端会是JSP文件,从后端经过ViewResolver渲染到jsp页面,这时候不少时候会须要须要EL表达式。最近发现下面一段代码:html
后端:
@RequestMapping("/login") public String login(HttpServletResponse response,HttpSession session){ Demo demo = new Demo(); demo.setAge(1); demo.setName("test"); session.setAttribute("loginInfo", demo);//jsp中借用el表达式的sessionScope获取想要的值 return "redirect:/index.jsp"; }
jsp:前端
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <c:choose> <c:when test="${not empty sessionScope.loginInfo}"> 欢迎你:${sessionScope.loginInfo.name } <br/> <h2>Hello World!</h2> </c:when> <c:otherwise> <h2>Hello World!</h2> </c:otherwise> </c:choose> </body> </html>
就这么简单的代码,之前发现都没啥问题,现在发现,不知道怎么的就有问题了。java
这段代码运行起来,先后端交互正常,惟一问题就是,前端中须要的参数值直接没有了,致使EL中须要执行的逻辑无法正常。后端
检查及查询相关材料后,获得解决方法:
把 isELIgnored="false" 这个加入到 <%@ page %>中就能够了。session
不过印象中以前是不须要每一个页面都写这个的,否则每一个页面都得加也是挺麻烦的,只是不知道这种的要怎么处理app