2016-04-03 13 views
1

投稿と呼ばれるオブジェクトにアクセスしたいとします。 Postには、カテゴリCategoryのカテゴリと呼ばれるインスタンス変数があります。それは以下にアクセスすることが可能であるならば、私はthymeleafでオブジェクトの属性の属性にアクセスする方法は?

<tr data-th-each="post : ${posts}"> 

を持ってthymeleafのHTMLファイル内のJavaコントローラクラスで

model.addAttribute("posts", postRepository.findPostsByUser(user)); 

は、私が疑問に思って?

{post.category.name} 

明確にするために、以下のJavaクラスを追加しました。各インスタンスには、セッターとゲッターが関連付けられています。私はあなたが

<tr th:each="post : ${posts}"> 
    <td> <span th:utext="{post.category.name}" /></td> 
</tr> 

を以下のとおりthymeleaf HTMLページを実装する必要があるエンティティコード

@Entity 
public class Post { 

    private Category category; 

    @ManyToOne(cascade = CascadeType.ALL) 
    @JoinColumn(name = "category_id", nullable = false) 
    public Category getCategory() { 
    return this.category; 
    } 

    public void setCategory (Category category) { 
    this.category = category ; 
    } 

} 

を変更する必要があると思う

@Entity 
public class Post { 

@ManyToOne 
@JoinColumn(name = "category_id") 
private Category category; 


@Entity 
public class Category { 

private String name; 
+1

'{post.category.name}'を試しましたか?結果は何ですか? –

+0

これは私の間違いです。変数がnullとして表示されていたため、変数が初期化されていませんでした – Albert

+0

どのようなエラーがありましたか?たぶん 'LazyLoadingException'問題? – sanluck

答えて

0

はあなたにその助けを願っています!

関連する問題