如何在我的 html spring 引导 jdbc 上同时显示名字和姓氏
How would I display both first name and Surname on my html spring boot jdbc
我在我的 jdbcTemplate 中使用 select 语句。我正在尝试 select 名字和姓氏并将它们显示在 html 页面上但是我得到 errors.The 错误代码 我在 HTml 页面上得到的是 "不正确的列数:预期为 1,实际为 2"
public List<String> getAllUserNames() {
List<String> usernameList = new ArrayList<>();
usernameList.addAll(jdbcTemplate.queryForList("SELECT FirstName,Surname from paitents",String.class));
return usernameList;
}
Html 文件
<tr th:each="user : ${users}">
<a href="#" th:text="${user} + ${user.Surname}" ></a> <br>
<!-- <td th:text="${user}"> </td> <br>-->
</tr>
</body>
您正在构造一个 String 列表,然后试图将一个复杂的对象类型插入到列表中。您在这里有两个解决方案;第一个是使用复杂类型并使用该列表。示例如下:
public List<User> findAllUsers() {
String sql = "SELECT FirstName,Surname from paitents";
return jdbcTemplate.query(sql,
(rs, rowNum) ->
new User(
rs.getString("FirstName"),
rs.getString("Surname")
));
}
然后在 thymeleaf 代码中:
<tr th:each="user : ${users}">
<a href="#" th:text="${user.FirstName} + ${user.Surname}" ></a> <br>
</tr>
另一个解决方案是快速修复,您可以使用 sql 技巧来做到这一点:
public List<String> getAllUserNames() {
List<String> usernameList = new ArrayList<>();
usernameList.addAll(jdbcTemplate.queryForList("SELECT CONCAT(FirstName, ' ', Surname) AS FullName from paitents",String.class));
return usernameList;
}
你应该把这个列表放在你的控制器方法的模型中:
model.addAttribute("fullNameList", usernameList);
然后在视图层:
<tr th:each="fullName : ${fullNameList}">
<a href="#" th:text="${fullName}" ></a> <br>
</tr>
我在我的 jdbcTemplate 中使用 select 语句。我正在尝试 select 名字和姓氏并将它们显示在 html 页面上但是我得到 errors.The 错误代码 我在 HTml 页面上得到的是 "不正确的列数:预期为 1,实际为 2"
public List<String> getAllUserNames() {
List<String> usernameList = new ArrayList<>();
usernameList.addAll(jdbcTemplate.queryForList("SELECT FirstName,Surname from paitents",String.class));
return usernameList;
}
Html 文件
<tr th:each="user : ${users}">
<a href="#" th:text="${user} + ${user.Surname}" ></a> <br>
<!-- <td th:text="${user}"> </td> <br>-->
</tr>
</body>
您正在构造一个 String 列表,然后试图将一个复杂的对象类型插入到列表中。您在这里有两个解决方案;第一个是使用复杂类型并使用该列表。示例如下:
public List<User> findAllUsers() {
String sql = "SELECT FirstName,Surname from paitents";
return jdbcTemplate.query(sql,
(rs, rowNum) ->
new User(
rs.getString("FirstName"),
rs.getString("Surname")
));
}
然后在 thymeleaf 代码中:
<tr th:each="user : ${users}">
<a href="#" th:text="${user.FirstName} + ${user.Surname}" ></a> <br>
</tr>
另一个解决方案是快速修复,您可以使用 sql 技巧来做到这一点:
public List<String> getAllUserNames() {
List<String> usernameList = new ArrayList<>();
usernameList.addAll(jdbcTemplate.queryForList("SELECT CONCAT(FirstName, ' ', Surname) AS FullName from paitents",String.class));
return usernameList;
}
你应该把这个列表放在你的控制器方法的模型中:
model.addAttribute("fullNameList", usernameList);
然后在视图层:
<tr th:each="fullName : ${fullNameList}">
<a href="#" th:text="${fullName}" ></a> <br>
</tr>