我是Java Spring MVC的新手。关于网络上的一些教程,我不知道为什么,但当我从view
传递一些文字到controller
时,文字似乎没有出现。
Controller
@Controller
public class HelloWorldController {
@RequestMapping(value = "/helloWorld.htm", method = RequestMethod.GET)
public ModelAndView helloWorld(){
String message = "Hello Spring MVC!";
return new ModelAndView("helloWorld", "message", message);
}
}
View
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
Message is: ${message}
</body>
</html>
我所关注的所有教程都有这个确切的代码,但它不会起作用。我在这里想念什么?
答案 0 :(得分:0)
如果只显示消息,请尝试将HttpServletRequest
添加到helloWorld
收到的参数中:
public ModelAndView helloWorld(HttpServletRequest request){
然后使用setAttribute
来显示消息:
request.setAttribute("message", "Hello Spring MVC!");
编辑:事实证明这个法令是不需要的
我确实忘记了在jsp中你需要类似的东西:
<p><c:out value="${message}" /></p>
这位于页面顶部:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
答案 1 :(得分:0)
此代码工作正常。可以肯定的是,你正在为helloWorld.htm创建一个JSP文件吗?
我只是将您的代码放入helloWorld.jsp中,它运行正常。
package com.dhargis.example;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloWorldController {
@RequestMapping(value = "/helloWorld.htm", method = RequestMethod.GET)
public ModelAndView helloWorld(){
String message = "Hello Spring MVC!";
return new ModelAndView("helloWorld", "message", message);
}
}
-------------------------------------JSP----------------------------------------------------
helloWorld.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
Message is: ${message}
</body>
</html>
</body>
</html>
&#13;
然后我删除了&lt;%@ taglib uri =&#34; http://java.sun.com/jsp/jstl/core"前缀=&#34; C&#34; %GT;它仍然可以正常工作。
给我发一个跟进问题,或者我可以把它放在Github上。