我对Spring很新,似乎无法弄清楚这里有什么问题。我确定它必须简单,但无论如何:
我正在阅读this page上的教程,我的代码几乎相同。在拉下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);
}
}
答案 0 :(得分:4)
尝试使用这样的结构:
<%@ 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
答案 1 :(得分:1)
您的tomcat可能使用了错误的jstl.jar。在您的tomcat lib文件夹下,检查您的jstl.jar是否与您在项目中使用的版本相同。