JSP文件EL表達式有時候無效的狀況及解決方式

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

相關文章
相關標籤/搜索