что ожидается
после привязки данных, веб-страница должна отражать данные
подробности
Код контроллера
@Controller
@Configuration
@Component
public class Controller {
@Autowired
Credentials c;
@GetMapping("/greeting")
public String greetingForm(Model model) {
model.addAttribute("greeting", new RequestData());
return "greeting";
}
@PostMapping("/greeting")
public String greetingSubmit(@ModelAttribute RequestData greeting) {
if (c.getUserName().equals(greeting.getId()) && c.getPassword().equals(greeting.getContent()))
{
return "result";
}
else
{
return "error";
}
}
}
RequestData.java
public class RequestData {
private String id;
private String content;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
Credentials.java
@Component
@Configuration
@PropertySource("classpath:application.properties")
public class Credentials {
public String userName;
public String password;
@Autowired
private Environment env;
@Autowired
public String getUserName() {
return env.getProperty("spring.username");
}
public void setUserName(String userName) {
this.userName = userName;
}
@Autowired
public String getPassword() {
return env.getProperty("spring.password");
}
public void setPassword(String password) {
this.password = password;
}
}
result.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello World</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Hello World</h1>
<p th:text="'id: ' + ${greeting.id}" />
<p th:text="'content: ' + ${greeting.content}" />
<a href="/greeting">Submit another message</a>
</body>
</html>
умеет скомпилировать, упаковать кодовую базу и собрать jar. однако, когда я запускаю файл jar, получаю следующую ошибку:
2018-10-31 15:36:34.259 ERROR 8220 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[disp
atcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context
with path [] threw exception [Request processing failed; nested exception is or
g.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringE
L expression: "greeting.id" (template: "result" - line 9, col 8)] with root caus
e
org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property o
r field 'id' cannot be found on null
Я не уверен, где проблема, доктор тимилеф говорит, что к атрибутам модели можно получить доступ с помощью $ {attributeName}, и я тоже использую то же самое, но тогда почему он говорит, что «идентификатор не найден»
пожалуйста, предложите