Spring变量未进入视图



我是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是否与您的项目使用的版本相同。

最新更新