程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> spring mvc EL ModelAndView的 Model 值 在jsp中不顯示

spring mvc EL ModelAndView的 Model 值 在jsp中不顯示

編輯:關於JSP

問題:
spring mvc開發過程中, 經常會給model addAttribute, 然後通過EL在jsp中顯示,比如 ${msg},
但是有時候會出現jsp最後顯示的還是${msg},而不是msg賦值過的。

Spring Controller


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class ABCController extends AbstractController{

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {

ModelAndView model = new ModelAndView("HelloWorldPage");
model.addObject("msg", "hello world");

return model;
}

}
JSP page


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


${msg}


解決方法:
原因在於老的JSP 1.2 聲明.


1. JSP 1.2
如果你用的jsp1.2版本的DTD
web.xml

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >


//...

EL是默認關閉的。。。必須手動打開。<%@ page isELIgnored="false" %>


<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%@ page isELIgnored="false" %>


${msg}




2. JSP 2.0
JSP2.0默認是打開支持EL的,所以聲明jsp2.0就可以直接用了。
web.xml

xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
//...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved