刚刚接触Spring MVC,通过网络上的资料进行了配置、测试,但是完成后,等待已久的Hello World 始终无法显示。
1.开发工具:Intellij Idea14.0.3,使用maven管理依赖
2.项目目录如下:
3.关于相关的配置信息可以在网络上搜集相关资料(其实是我自己还没有弄清楚。。。)
4.问题:index.jsp代码如下
Hello.java 代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>hello world</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
@Controller
@RequestMapping("/hello")
public class Hello {
@RequestMapping("/hi.do")
public String HelloWorld()
{
ModelMap mv=new ModelMap();
mv.addAttribute("message","Hello World");
return "index";
}
}项目启动后,index.jsp 获取不到message的内容
5.问题产生原因 是 因为ModelMap 在函数内实例化后没有被返回,仅仅作为局部变量存在于函数中
6.问题解决:
/**
* Created by Sun on 2015/4/1.
*/
@Controller
@RequestMapping("/hello")
public class Hello {
@RequestMapping("/hi.do")
public String HelloWorld(ModelMap mv)
{
mv.addAttribute("message","Hello World");
return "index";
}
}spring会自动实例化ModelMap,并将其返回,然后jsp就可以获取到message内容了(注:ModelMap、Model、ModelAndView碰到此类问题,解决方法类似!)
初学者在使用IntelliJ IDEA和Maven搭建Spring MVC项目时遇到问题,JSP页面无法显示从Controller传递的Hello World信息。配置和依赖管理已按网络教程完成,但问题依然存在。
1700

被折叠的 条评论
为什么被折叠?



