【发布时间】:2023-12-30 06:02:01
【问题描述】:
我正在尝试在不使用 web.xml 的情况下学习 Spring MVC 4,而是使用以下内容:
public class WebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
WebApplicationContext context = getContext();
servletContext.addListener(new ContextLoaderListener(context));
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("*.html");
}
private AnnotationConfigWebApplicationContext getContext() {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setConfigLocation("com.bookstr.WebConfig");
return context;
}
}
和
@Configuration
@EnableWebMvc
@ComponentScan({ "com.bookstr.*" })
public class WebConfig {
}
由于某种原因,当我使用以下控制器时,我创建并放置在 src->main->webapp 文件夹中的 home.jsp 文件将不会呈现:
@Controller
public class HomeController {
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String getHome(Model model){
model.addAttribute("home", "Hello world");
return "home";
}
}
而JSP文件如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Home</title>
</head>
<body>
${home}
</body>
</html>
更新!
按要求提供文件夹结构。
我可以看到 HomeController 没有被调用。
【问题讨论】:
-
您注册
ViewResolver来解析您的jsp 视图了吗? -
不,我没有@AliDehghani
标签: spring jsp spring-mvc