我有一个通过自定义选择语句填充到数据库的表。 这以前有效,但现在它不显示任何值,甚至不显示默认值。
我已经创建了表格标题,这是 HTML 中的内容声明:
<tr th:each="user : ${listUser}">
<td>
<a th:href="@{/editUser(user_id=${user.user_id})}">
<span th:text="${user.user_id}">Default ID</span>
</a>
</td>
<td th:text="${user.username}">Default username</td>
<td th:text="${user.email_address}">Default email</td>
<td th:text="${user.role_code}">Default role code</td>
<td th:text="${user.enabled_ind}">Default enabled</td>
<td>Default enabled</td>
</tr>
这是Web控制器中的声明(当我添加
@GetMapping
和@PostMapping
时,问题就开始了,它似乎忽略了@RequestMapping
。
@GetMapping("/admin")
public String greetingForm(Model model) {
model.addAttribute("searchuser", new Searchuser());
return "admin";
}
@PostMapping("/userresults")
public String greetingSubmit(@ModelAttribute Searchuser searchuser) {
return "userresults";
}
@RequestMapping(value = "/userresults")
public ModelAndView listUser(ModelAndView model) throws IOException {
List<User> listUser = userDAO.loadAllUser();
model.addObject("listUser", listUser);
model.setViewName("userresults");
return model;
}
我知道 SQL 方法正在工作,因为我之前从另一个页面调用过它。
尝试使用此表结构来显示您的数据。
<table border="1" style="width: 300px">
<tr>
<th>User name</th>
<th>Default Heading</th>
</tr>
<tr th:each="user : ${listUser}">
<td th:text="${user.username}">Default username</td>
<td>Default enabled</td>
</tr>
</table>
PS:我用上面的表结构测试了您的代码,
@GetMapping
和@RequestMapping
都工作正常。另请确保 listUser
至少有一个 User
,否则即使是默认值也不会显示。
我面临同样的挑战,我的表主体没有显示任何内容,但对于 SQL 表它正在工作。有人可以帮忙吗?