我通过https://start.spring.io/生成sprint引导。然后我在项目中添加了一个JSP视图。但它不是渲染。我不知道会出现什么问题。这是我的项目代码: -
主要应用: -
@SpringBootApplication
public class Application {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
配置: -
@Configuration
@EnableWebMvc
public class MvcConfiguration implements WebMvcConfigurer {
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
控制器: -
@Controller
public class HelloController3 {
@RequestMapping("/hello")
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) {
model.addAttribute("name", name);
return "hello";
}
}
我的hello.jsp文件位于/ WEB-INF /目录下。我错过了什么?它也没有显示任何错误消息。
答案 0 :(得分:0)
请参阅this示例。尝试在前面提到的application.properties文件中加上前缀和后缀。
文件: /src/main/resources/application.properties
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
这里不需要MvcConfiguration
。请告诉我这是否对您有所帮助,如果没有,请分享您的结果,我会尝试进一步分析问题。
答案 1 :(得分:0)
首先在应用程序中扩展SpringBootServletInitilizer并将jsp页面放在像..WEB-INF / Views / hello.jsp这样的视图中。
您可以像这样创建应用程序类....
enter code here@SpringBootApplication
public class Application扩展SpringBootServletInitializer { @覆盖 protected SpringApplicationBuilder configure(SpringApplicationBuilder应用程序){ return application.sources(Application.class); }
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
这里我给你一个与你的帖子相关的链接..
https://hellokoding.com/spring-boot-hello-world-example-with-jsp/
这对你有帮助..
添加后缀和前缀: -
spring.mvc.view.prefix:/
spring.mvc.view.suffix:.jsp