2016-10-18 3 views
0

Мне нужно отправить комментарий элемент в 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)

ответ

1

Я сделал, как это и работал

<tr th:each="allComments : ${commentsInTask}"> 
<tr th:each="comment : ${allComments}"> 
    <td th:text="${comment.user}">user ...</td> 
Смежные вопросы