gpt4 book ai didi

spring-boot - 解析模板 "index"时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问

转载 作者:行者123 更新时间:2023-12-03 11:09:09 33 4
gpt4 key购买 nike

之前有人问过这个问题,但我没有解决我的问题,而且我得到了一些奇怪的功能。
如果我把我的 index.html静态目录中的文件,如下所示:
enter image description here
我在浏览器中收到以下错误:
enter image description here
在我的控制台中:

[THYMELEAF][http-nio-8080-exec-3] Exception processing template "login": 
Exception parsing document: template="login", line 6 - column 3
2015-08-11 16:09:07.922 ERROR 5756 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].
[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]
in context with path [] threw exception [Request processing failed; nested
exception is org.thymeleaf.exceptions.TemplateInputException: Exception
parsing document: template="login", line 6 - column 3] with root cause

org.xml.sax.SAXParseException: The element type "meta" must be terminated by
the matching end-tag "</meta>".
但是,如果我将 index.html 文件移动到模板目录中,我的浏览器会出现以下错误:
enter image description here
enter image description here
我添加了我的 View 解析器:
@Controller
@EnableWebMvc
public class WebController extends WebMvcConfigurerAdapter {

@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("index");
registry.addViewController("/results").setViewName("results");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/form").setViewName("form");
}

@RequestMapping(value="/", method = RequestMethod.GET)
public String getHomePage(){
return "index";
}

@RequestMapping(value="/form", method=RequestMethod.GET)
public String showForm(Person person) {
return "form";
}

@RequestMapping(value="/form", method=RequestMethod.POST)
public String checkPersonInfo(@Valid Person person, BindingResult bindingResult) {

if (bindingResult.hasErrors()) {
return "form";
}
return "redirect:/results";
}

@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("templates/");
//resolver.setSuffix(".html");
return resolver;
}

@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}

}
网络安全配置文件
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/index").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
索引.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<meta>
<meta> charset="UTF-8">
<title></title>
</head>
<body>

<h1>Welcome</h1>

<a href="../../login.html"><span>Click here to move to the next page</span></a>

</body>

</html>
此时我不知道发生了什么。谁能给我一些建议?
更新
我在 index.html 中遗漏了一个错字,但我仍然遇到相同的错误
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta> charset="UTF-8">
<title></title>
</head>
<body>

<h1>Welcome</h1>

<a href="../../login.html"><span>Click here to move to the next page</span></a>

</body>

</html>

最佳答案

在控制台中告诉您这是与登录冲突。我认为你也应该在 index.html 中声明 thymeleaf 。就像是:

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>k</title>
</head>

关于spring-boot - 解析模板 "index"时出错,模板可能不存在或可能无法被任何已配置的模板解析器访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944355/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com