Java 弹簧靴筒';无法解析ELEAF视图
我将Spring Boot与Thymeleaf集成,但在控制器返回视图后,web不会重定向或转发。 这是第页:Java 弹簧靴筒';无法解析ELEAF视图,java,spring-boot,thymeleaf,Java,Spring Boot,Thymeleaf,我将Spring Boot与Thymeleaf集成,但在控制器返回视图后,web不会重定向或转发。 这是第页: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>login</title>
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" th:href="@{/webjars/bootstrap/3.3.7/css/bootstrap.css}" rel="stylesheet">
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Open+Sans:400,300'>
<link rel='stylesheet' href='https://fonts.googleapis.com/icon?family=Material+Icons'>
<link rel="stylesheet" href="css/style.css" th:href="@{/css/style.css}">
</head>
<body>
<div class="cont_forms">
<div class="cont_img_back_">
<img src="https://images.unsplash.com/42/U7Fc1sy5SCUDIu4tlJY3_NY_by_PhilippHenzler_philmotion.de.jpg?ixlib=rb-0.3.5&q=50&fm=jpg&crop=entropy&s=7686972873678f32efaf2cd79671673d"
alt=""/>
</div>
<div class="cont_form_login">
<a href="#" onclick="ocultar_login_sign_up()"><i class="material-icons"></i></a>
<h3>login</h3>
<input id="login_name" type="text" placeholder="username"/>
<input id="login_password" type="password" placeholder="password"/>
<div class="checkbox mb-3" style="margin:5% auto 0% 2%">
<label>
<input type="checkbox" id="remember"> Remember me
</label>
</div>
<p style="color: red" th:text="${msg}" th:if="${not #strings.isEmpty(msg)}"></p>
<button class="btn_login" onclick="login('http://localhost:8080/assignment/user/login')">login</button>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="js/index.js"></script>
<script>
function login(url) {
var username = document.getElementById("login_name").value;
var password = document.getElementById("login_password").value;
$.post(url, {'username':username, 'password':password});
}
</script>
</body>
</html>
-------------------------更新--------------------这是堆栈跟踪:
2018-08-11 12:21:29.824 INFO 13220 --- [nio-8080-exec-1] o.a.c.c.C.[.[localhost].[/assignment] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-08-11 12:21:29.824 INFO 13220 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2018-08-11 12:21:29.876 INFO 13220 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 52 ms
Hibernate: select student0_.id as id1_0_0_, student0_.name as name2_0_0_, student0_.password as password3_0_0_ from students student0_ where student0_.id=?
-------------------------success
另外,我发现了另一个问题。我试图定制Spring MVC,因此我编写了一个配置类:
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// welcome page
registry.addViewController("/").setViewName("index");
registry.addViewController("/index.html").setViewName("index");
}
};
return adapter;
}
}
但IDEA显示,
WebMVCConfigureAdapter
已被弃用。我该怎么办?我在Spring Boot参考文档中找不到解决方案。要呈现视图,需要使用@Controller
更改此项:
@RestController
public class LoginController {
}
致:
哦,我试过这个,但也没用。这很奇怪。是否提供stacktrace?使用
WebMvcConfigurer
而不是WebMVCConfigureAdapter
。我怀疑的一件事是路径模式可能是原因。对于安全页面,您应该添加。@soorapadman我一次又一次地检查了查看路径,但没有发现问题所在。
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
// welcome page
registry.addViewController("/").setViewName("index");
registry.addViewController("/index.html").setViewName("index");
}
};
return adapter;
}
}
@RestController
public class LoginController {
}
@Controller
public class LoginController {
}