问题描述
我只想在登录后显示主页和用户名,但仍然收到404 not found错误。
这是index.html页面
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
<Meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 th:action="@{/index}">Hello<h1 th: th:text="${name}"></h1> </h1>
</body>
</html>
这是我的控制器
@Controller
@AllArgsConstructor
public class UserController {
private final UserService userService;
private final ConfirmationTokenService confirmationTokenService;
@GetMapping("/sign-in")
String signIn() {
return "sign-in";
}
@GetMapping("/sign-up")
String signUpPage(User user) {
return "sign-up";
}
@PostMapping("/sign-up")
String signUp(User user) {
userService.signUpUser(user);
return "redirect:/sign-in";
}
@GetMapping("/sign-up/confirm")
String confirmMail(@RequestParam("token") String token) {
Optional<ConfirmationToken> optionalConfirmationToken = confirmationTokenService.findConfirmationTokenByToken(token);
optionalConfirmationToken.ifPresent(userService::confirmUser);
return "redirect:/sign-in";
}
@RequestMapping(value = {"/index"},method = RequestMethod.GET)
public String welcome(User user,Model model) {
model.addAttribute("Name",user.getName());
return "index";
}
我已经尝试了一段时间,但我不知道自己在做什么错。配置了网络安全性配置,以便默认成功的URL为index.html
解决方法
尝试将请求映射更改为
@RequestMapping(value = {"/index","/"},method = RequestMethod.GET)
另外,尝试按Eleftheria Stein-Kousathana所说的方式调用localhost:9090 / index(不带.html)。