1. 程式人生 > >Spring框架,使用ModelMap傳值,jsp無法獲取!

Spring框架,使用ModelMap傳值,jsp無法獲取!

原controller中的程式碼片段:
@RequestMapping
public String sayHi() {
    ModelMap model = new ModelMap();
    model.addAttribute("message", "Hello there!");
    return "hello";
}
jsp頁面程式碼(hello.jsp):
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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">
<title>Hi</title>
</head>
<body>
${message}
</body>
</html>
執行發現頁面什麼都沒有!

後來發現一篇部落格:http://bao1073740756-126-com.iteye.com/blog/1549597

其中有提到:“ModelMap的例項是由bboss mvc框架自動建立並作為控制器方法引數傳入,使用者無需自己建立。

於是將controller程式碼改為:

@RequestMapping
    public String sayHi(ModelMap model) {
    model.addAttribute("message", "Hello there!");
    return "hello";
}
重新執行,OK!

還有遇到一種情況是jsp頁面重頭到尾只打印 

${message},網上的解決方案是在jsp頁面頭加上:

<%@ page isELIgnored="false"%> 
問題應該就能解決了,原因是EL無法被解析(廢話,看上面的程式碼就知道了)

以上是在學習Spring框架中遇到的一點問題,也希望能對同樣遇到此問題的Брат有所幫助