JSP文件EL表达式有时候无效的情况及解决方式

JAVA WEB开发中一般前端会是JSP文件,从后端通过ViewResolver渲染到jsp页面,这时候很多时候会需要需要EL表达式。最近发现下面一段代码:

后端:
@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>


就这么简单的代码,以前发现都没啥问题,如今发现,不知道怎么的就有问题了。

这段代码运行起来,前后端交互正常,唯一问题就是,前端中需要的参数值直接没有了,导致EL中需要执行的逻辑没法正常。

检查及查询相关材料后,得到解决方法:
把 isELIgnored="false" 这个加入到 <%@ page %>中就可以了。

不过印象中之前是不需要每个页面都写这个的,不然每个页面都得加也是挺麻烦的,只是不知道这种的要怎么处理

转载于:https://my.oschina.net/u/2426199/blog/997502

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值