我使用SpringBoot 1.5.9并创建了src/main/resources/static/index.html
:
<!DOCTYPE html><html><head><meta charset="utf-8"/>
<title>Home</title></head>
<body><h2>Hello World!!</h2></body>
</html>
我的简单控制器处理“/”并转发到index.html:
@Controller
public class MyController {
@RequestMapping("/")
public String home(Model model) {
System.out.println("In MyController!!!");
return "index";
}}
然而,当我运行我的主要方法之后:
@SpringBootApplication
public class MySpringBoot2Application {
public static void main(String[] args) {
SpringApplication.run(MySpringBoot2Application.class, args);
}
}
我将浏览器指向:http://localhost:8080/
我正进入(状态:
白标错误页面 - 出现意外错误(type=Not Found, status=404)
但是,如果我尝试直接访问该页面 - 它工作正常: http://localhost:8080/index.html
基于SpringBoot文档,应呈现src/main/resources/static/
下的静态内容。
如果我创建文件夹src/main/resources/templates/
并将index.html
放在那里,并在我的pom.xml中包含spring-boot-starter-thymeleaf依赖项,那么一切都很好。但是我很困惑为什么这个src / main / resources / static / index.html的基本渲染
不管用。任何帮助表示赞赏。
答案 0 :(得分:3)
刚找到解决方案:控制器MyController应该指定文件扩展名:
import { fork, takeLatest } from 'redux-saga/effects';
export function* watchSubmitLike() {
yield fork(takeLatest, SUBMIT_LIKE, submitLikeSaga);
}
答案 1 :(得分:0)
最好在Spring Boot配置中添加viewResolver
。
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter{
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/home").setViewName("home");
registry.addViewController("/").setViewName("login");
registry.addViewController("/403").setViewName("403");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}