【发布时间】:2017-04-24 04:48:20
【问题描述】:
我目前有上图所示的内容。我可以在文本框中输入文本,然后单击提交,将其发布在结果下。如何编写一个不会覆盖先前消息的脚本?例如;当我输入另一封电子邮件并点击提交时,它应该显示在 Hello@gmail.com 下面而不是覆盖它。此外,当用户单击提交时,我如何将他们的回复保存在与页面上显示的内容相对应的列表中?如果文本被删除,它也应该从 java 列表中删除。
控制器
@Controller
public class EmailController {
@GetMapping("/editprop")
public String greetingForm(Model model) {
model.addAttribute("greeting", new Greeting());
return "editprop";
}
@PostMapping("/editprop")
public String greetingSubmit(@ModelAttribute Greeting greeting) {
System.out.println(greeting.getEmail() + "@@@@@@@@");
return "editprop";
}
}
editprop thymeleaf
<h1>Form</h1>
<form action="#" th:action="@{/editprop}" th:object="${greeting}" method="post">
<p>Email: <input type="text" th:field="*{email}" /></p>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>
<h1>Result</h1>
<p th:text="'Email: ' + ${greeting.email}" />
<a href="/greeting">Submit another message</a>
波乔
public class Greeting {
private String email;
//getter and setters
尝试
为了不覆盖前面的文本,我决定创建一个表并使用 th:foreach iterStat: 来显示列表中的每个值。所以,我真正的问题是如何在每次单击 sumbit 时将值保存到列表中?
【问题讨论】:
标签: java html spring-boot thymeleaf