我正在尝试使用spring boot来提供HTML页面,我不想使用Thyme leaf,因为我只有静态HTML页面请注意,服务js和css文件在/ resources / static /中运行良好但是如果我有一个像下面的控制器
{ "AAA", "BBB->CCC", "DDD" }
和
@Controller
public class DefaultConfiguration {
@RequestMapping(value = "/login")
public ModelAndView login() {
return new ModelAndView("login");
}
}
我总是得到错误
@Configuration
public class MvcConfiguration extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/");
resolver.setSuffix(".html");
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
答案 0 :(得分:0)
为什么需要配置MvcConfiguration?如果您没有在类路径上使用百里香叶/自由标记/ vaadin,那么它不会默认为服务.html吗?
如果你在ur pom.xml中有thymeleaf,那么只需要它并尝试使用请求映射返回登录而不定义MVC配置并查看是否有效。
或者,使用freemarker,而不是thymeleaf cos thymeleaf在我看来有点可怕,并将文件保存为login.ftl,内容可以只是纯HTML。无需定义MVC配置即可完美运行。
答案 1 :(得分:0)
我发现我可以从静态文件夹中提供与javascript相同的html页面而无需执行任何控制器。我正在尝试登录,因为我启用了spring-security,并希望表单登录重定向到登录页面。解决方案是简单的登录页面(“/ login.html”),但首先没有想到它
http
.authorizeRequests()
.antMatchers("/","/fonts/**","/vendors/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login.html")
.permitAll()
.and()
.logout()
.and()
.csrf().csrfTokenRepository(csrfTokenRepository())
.and()
.addFilterAfter(csrfHeaderFilter(), SessionManagementFilter.class);