2016-04-03 2 views
1

Скажите, что я хочу получить доступ к объекту, который называется post. Post имеет переменную экземпляра под названием Категория типа Категория.Как получить доступ к атрибуту атрибута объекта в тимелеафе?

В контроллер класса Java

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

В HTML файле thymeleaf У меня есть

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

мне интересно, если это возможно, чтобы получить доступ ниже?

{post.category.name} 

Для пояснения Я включил классы java ниже. Каждый экземпляр имеет ассоциированные сеттеры и геттеры.

@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

Я думаю, что вам нужно изменить ваш объект кода

@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 ; 
    } 

} 

вам нужно реализовать thymeleaf HTML страницы согласно следующим

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

Надежда свою помощь вам!

Смежные вопросы