Thymeleaf 表未显示在 Spring Boot 应用程序的 html 页面上

问题描述 投票:0回答:2

我有一个通过自定义选择语句填充到数据库的表。 这以前有效,但现在它不显示任何值,甚至不显示默认值。

我已经创建了表格标题,这是 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 方法正在工作,因为我之前从另一个页面调用过它。

java spring-boot thymeleaf
2个回答
0
投票

尝试使用此表结构来显示您的数据。

<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
,否则即使是默认值也不会显示。


0
投票

我面临同样的挑战,我的表主体没有显示任何内容,但对于 SQL 表它正在工作。有人可以帮忙吗?

© www.soinside.com 2019 - 2024. All rights reserved.