Thymeleaf - Доступ к вложенному объекту (новый) - PullRequest
0 голосов
/ 26 апреля 2020

Я новичок в тимилфиле, и у меня небольшая проблема, вызывающая головную боль.

У меня есть сущность "Платеж", а у Платежа есть сущность "Менеджер" в качестве атрибута.

@ManyToOne
@JoinColumn(name = "manager")
private Manager manager;

А у менеджера есть такие атрибуты, как id, name, ... и так далее. Я хочу получить доступ к атрибуту 'name' из Payment Dto, как показано ниже.

<td><span th:text="${payment.manager.id}"></span></td>

Однако он генерирует код ошибки.

org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'name' cannot be found on null

Я попытался <td><span th:text="${payment.manager}"></span></td> this, и программа работала без ошибок, хотя в этой строке ничего не отображалось.

Как получить доступ к внутреннему атрибуту (например, имени) вложенных объектов, таких как

Payment {Manager {id, имя , ...}}

это?

1 Ответ

0 голосов
/ 26 апреля 2020

Сначала попробуйте запустить API на почтальоне и проверить, правильно ли поступают данные, значит

payment :{
   id: "",
   .
   .
   "manager":{
      "name":"",
      .
      .
      .
    }
}

Если нет, то при сохранении платежа сущности возникает проблема. Вы сохранили платеж правильно, но, возможно, вы не установили менеджер сущностей в платежной сущности, используя отношение ManyToOne. Вот так

payment.setManager(manager); 

Возможно, вы сохранили ошибку при сохранении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...