为什么 Get 无法呈现请求的错误页面?
Why Get Cannot render error page for request?
我想从存储库获取数据到控制器并将它们发送到视图中,所以我想使用 Hashmap(K,V)
从控制器发送数据到视图。但是 Hashmap(V)
的值是 List<>
,我得到了这样的错误...
堆栈跟踪
Cannot render error page for request [/meetzen/] and exception [An error happened during template parsing (template: "class path resource [templates/post.jsp]")] as the response has already been committed. As a result, the response may have the wrong status code.
查询
@Query(nativeQuery = true, value="SELECT * FROM request_master WHERE sender_id = ? AND status = ?")
List<Request> getAcceptRequestFrnd(Integer Sender_id, String Status);
@Query(nativeQuery = true, value="SELECT rsm.receiver_id,pm.profile, rgm.username, upm.post_id, upm.post, upm.date FROM registration_master AS rgm INNER JOIN profile_master AS pm ON rgm.u_id = pm.user_id INNER JOIN uploadpost_master AS upm ON rgm.u_id = upm.user_id INNER JOIN request_master AS rsm ON rgm.u_id = rsm.receiver_id WHERE rsm.receiver_id = ? ORDER BY upm.date DESC LIMIT 1")
List<ProfileJoin> getPostWithAccount(Integer Receiver_id);
控制器
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Model mdl, HttpSession session, Request request) {
Integer sessionId = Integer.parseInt(session.getAttribute("uid").toString());
Map<Integer, List<ProfileJoin>> userUploadPost = new HashMap<>();
List<Request> getUser =
this.service.getAcceptRequestFrnd(sessionId, "Accept");
for(Request getUserForPost : getUser)
{
List<ProfileJoin> getUserWithPost = this.service.getPostWithAccount(getUserForPost.getReceiver_id());
userUploadPost.put(getUserForPost.getReceiver_id(), getUserWithPost);
}
mdl.addAttribute("userWithPost", userUploadPost);
mdl.addAttribute("getUser", getUser);
return "index";
}
百里香叶:
<div th:each="getData: ${getUserWithPost.value}">
<span th:text="${getData.username}"></span>
<span th:text="${getData.post}"></span>
</div>
当您的地图的键是类别,值是属于该类别的项目列表时,您可以使用:
<table>
<tr th:each="element : ${catsAndItems}">
<td th:text="${element.key}">keyvalue</td>
<table>
<tr th:each="anews : ${element.value}">
<td th:text="${anews.title}">Some name</td>
<td th:text="${anews.description}">Some name</td>
<td th:text="${anews.url}">Some name</td>
<td th:text="${anews.logo}">Some name</td>
<td th:text="${anews.collectionDate}">Some name</td>
</tr>
</table>
</tr>
</table>
我想从存储库获取数据到控制器并将它们发送到视图中,所以我想使用 Hashmap(K,V)
从控制器发送数据到视图。但是 Hashmap(V)
的值是 List<>
,我得到了这样的错误...
堆栈跟踪
Cannot render error page for request [/meetzen/] and exception [An error happened during template parsing (template: "class path resource [templates/post.jsp]")] as the response has already been committed. As a result, the response may have the wrong status code.
查询
@Query(nativeQuery = true, value="SELECT * FROM request_master WHERE sender_id = ? AND status = ?")
List<Request> getAcceptRequestFrnd(Integer Sender_id, String Status);
@Query(nativeQuery = true, value="SELECT rsm.receiver_id,pm.profile, rgm.username, upm.post_id, upm.post, upm.date FROM registration_master AS rgm INNER JOIN profile_master AS pm ON rgm.u_id = pm.user_id INNER JOIN uploadpost_master AS upm ON rgm.u_id = upm.user_id INNER JOIN request_master AS rsm ON rgm.u_id = rsm.receiver_id WHERE rsm.receiver_id = ? ORDER BY upm.date DESC LIMIT 1")
List<ProfileJoin> getPostWithAccount(Integer Receiver_id);
控制器
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Model mdl, HttpSession session, Request request) {
Integer sessionId = Integer.parseInt(session.getAttribute("uid").toString());
Map<Integer, List<ProfileJoin>> userUploadPost = new HashMap<>();
List<Request> getUser =
this.service.getAcceptRequestFrnd(sessionId, "Accept");
for(Request getUserForPost : getUser)
{
List<ProfileJoin> getUserWithPost = this.service.getPostWithAccount(getUserForPost.getReceiver_id());
userUploadPost.put(getUserForPost.getReceiver_id(), getUserWithPost);
}
mdl.addAttribute("userWithPost", userUploadPost);
mdl.addAttribute("getUser", getUser);
return "index";
}
百里香叶:
<div th:each="getData: ${getUserWithPost.value}">
<span th:text="${getData.username}"></span>
<span th:text="${getData.post}"></span>
</div>
当您的地图的键是类别,值是属于该类别的项目列表时,您可以使用:
<table>
<tr th:each="element : ${catsAndItems}">
<td th:text="${element.key}">keyvalue</td>
<table>
<tr th:each="anews : ${element.value}">
<td th:text="${anews.title}">Some name</td>
<td th:text="${anews.description}">Some name</td>
<td th:text="${anews.url}">Some name</td>
<td th:text="${anews.logo}">Some name</td>
<td th:text="${anews.collectionDate}">Some name</td>
</tr>
</table>
</tr>
</table>