Мне нужно отправить комментарий элемент в HTML.Отправка elementcollection внутри singletonlist
Нет comment DTO
, это TaskComment
на самом деле. Я определил, как что внутри целевого класс
@ElementCollection
private Set<TaskComment> comments;
ВНУТРИ taskcomment
, потому что это model
класса, есть некоторые атрибуты, такие как:
private String message;
public String getUser() {
return user;
}
private ZonedDateTime createdAt = ZonedDateTime.now();
private String createdAtString;
Я определяю params
как то
Map<String, Object> params = prepareParams(task);
я поставил комментарий внутри этого:
params.put("commentsAdded", Collections.singletonList(comment));
и без каких-либо проблем, я могу увидеть мой HTML, как это:
Я не знаю, почему мы используем для каждого из них есть только один комментарий объекта.
, но когда я хочу поставить elementcollection comment
, он дает ошибку.
@ElementCollection
private Set<TaskComment> comments;
я попробовал этот
params.put("commentsInTask",new ArrayList(Arrays.asList(task.getComments())));
, но в HTML
<tr th:each="addedComment : ${commentsInTask}">
<td th:text="${addedComment.user}">user...</td>
<td th:text="${addedComment.message}">message ...</td>
для
<td th:text="${addedComment.user}">user...</td>
, что выравнивают он дал ошибку. Я думаю, что он остановился после ошибки, вероятно, даст ошибку и для другого lin.
Я попытался установить singletonMap
, но это не hashmap. Это коллекция.
Я пытался поставить
params.put("commentsInTaskk",new ArrayList(Arrays.asList(task.getComments())));
но я couldnot сделать его работу. Я думал, это сработает. Или я сделал не так.
Что вы предлагаете?
Я использую весенний ботинок + intellij.
Например, когда я использовать это в HTML
<tr th:each="addedComment : ${commentsInTask}">
<td th:text="${addedComment.key}">key ...</td>
<td th:text="${addedComment.value.user}">value.user...</td>
ошибка:
org.thymeleaf.exceptions.TemplateProcessingException: Исключение оценки экспрессии SpringEL: «addedComment.ключ» (task_comment_cta: 29)