我是Spring的新手,似乎不知道这里出了什么问题。我相信它一定是一些简单的东西,但无论如何:
我正在浏览本页上的教程,我有几乎相同的代码。在下载了Apache Commons库和JSTL之后,我开始工作了。一切正常,直到它实际上使用了我指定为视图的jsp,但是在呈现站点时,控制器中的变量"message"没有显示。这也不是表达式语言的问题,因为我也没有得到${message}文本的显示。这只是一个空白页。
我知道jsp实际上被触发的唯一原因是因为我在那里放了一个标题,没有其他地方,它正在页面显示中使用。我还知道变量在控制器中被设置,动作被调用是因为我在映射函数中放入了一个简单的sysout。
谢谢你的帮助!
编辑
这是jsp:
<%@page contentType="text/html" pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>om nom JSP Page</title>
</head>
<body>
${message}
</body>
</html>
和控制器:
package org.me.home.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;
@Controller
public class SomeController {
@RequestMapping("/somepage")
public ModelAndView someAction() {
String mymsg = "Saying hi!";
System.out.println(mymsg);
return new ModelAndView("somepage", "message", mymsg);
}
}
尝试使用这样的结构:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:out value="${message}" />
你确定问题出在显示上吗?页面加载良好,我的意思是所有其他HTML显示在页面上,除了"消息"?
编辑尝试使用org.springframework.web.servlet.ModelAndView来代替org.springframework.web.portlet.ModelAndView
您的tomcat可能使用了错误的jstl.jar。在tomcat lib文件夹下,检查您的jstl.jar是否与您的项目使用的版本相同。