我试图用Spring MVC
编写Hello页面。
的hello.jsp
<%@page isELIgnored="false"%>
<%@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>
<h1>${hello.test()}</h1>
</body>
</html>
控制器级:
package Controllers;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class Hello {
@RequestMapping(value="/test.htm")
public String test()
{
return "Hello";
}
}
但是当我请求http://localhost:8080/WebApplication1/test.htm
时,方法test()
没有被调用。有什么问题?
答案 0 :(得分:2)
您不应该从视图中调用控制器方法。您可以使用JSF但不能使用JSP。看看这个例子:
@Controller
public class Hello {
@RequestMapping(value="/test.htm")
public String test(Model uiModel){
uiModel.addAttribute("yourkey", "Hello World"); // put some data
return "Hello"; // means "open Hello.jsp"
}
}
现在您可以阅读数据:
<%@page isELIgnored="false"%>
<%@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>
<h1>${yourkey}</h1>
</body>
</html>