Spring MVC アプリケーションの JSTL からの forEach-tag に問題があります。
オブジェクトを使用して単純な LinkedList を反復処理したいと考えています。ここで、.jsp ファイルからのコードを確認できます。
<c:forEach items="${posts}" var="single_post">
<div id="post">
<label><c:out value="${single_post.topic}" /></label> <br />
<div id="post_content">
<c:out value="${single_post.content}" />
</div>
<div id="post_information">
<c:out value="${single_post.username}" />
|
<c:out value="${single_post.dayOfCreation}" />
</div>
<div id="post_tags">
<c:out value="${single_post.tags}" />
</div>
<hr />
</div>
</c:forEach>
forEach-tag は完全なリストを反復処理しますが、最初の要素のみを返します。簡単な例を使用して別のケースで試しましたが、LinkedList は使用しませんでした。
<c:forEach var="i" begin="1" end="5">
Item <c:out value="${i}"/>
</c:forEach>
この例は問題なく動作するため、どこに問題があるのか わかりません。
よろしくお願いします :)
更新 1: リストを生成するコードは単純な sql ステートメントです。ステートメントの結果が LinkedList に追加されます。
私のコントローラーには、SQLステートメントの結果をモデルに追加する次のメソッドがあります。
@RequestMapping(value = "/community", method = RequestMethod.GET)
public String community(Locale locale, Model model) {
// Add attributes to the model
model.addAttribute("posts", appService.getRelatedPosts());
return "/community";
}
forEach-tag の結果は次のようになります。
テスト タイトル Beispieltext TestAccount | Tag_1、Tag2、Tag_3 テスト
タイトル Beispieltext TestAccount | Tag_1、Tag2、Tag_3 テスト
タイトル Beispieltext TestAccount | Tag_1、Tag2、Tag_3 . . .
はい、データベースには異なる値があります;)