コメント要素をHTMLに送信する必要があります。シングルトンリスト内で要素コレクションを送信する
comment DTO
はありません。実際にはTaskComment
です。
private String message;
public String getUser() {
return user;
}
private ZonedDateTime createdAt = ZonedDateTime.now();
private String createdAtString;
は私が入れたこと
Map<String, Object> params = prepareParams(task);
ようparams
を定義します。私はそれがmodel
クラスであるため、のようないくつかの属性があり、その内部のTaskクラス
@ElementCollection
private Set<TaskComment> comments;
内部taskcomment
のように定義されましたこのようなコメントは
params.put("commentsAdded", Collections.singletonList(comment));
と何の問題もなく、私はこのように私のhtml見ることができます:
を、私たちはそれぞれのために使用する理由を知らない、唯一のコメントオブジェクトがあります。
しかし、私がcomment
のelementcollectionを入れたいとき、それはエラーを与えます。
@ElementCollection
private Set<TaskComment> comments;
私はそれがエラーを与えたライン
<td th:text="${addedComment.user}">user...</td>
ため、この
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>
を試してみました。私はそれがエラーの後に停止したと思う、おそらく他の林にもエラーを与えるだろう。
singletonMap
を入力しようとしましたが、ハッシュマップではありません。コレクションです。
私は
params.put("commentsInTaskk",new ArrayList(Arrays.asList(task.getComments())));
を入れてみましたが、私はそれを動作させるcouldnot。私はそれがうまくいくと思った。または私は間違っていた。
あなたはどう思いますか?
私はスプリングブート+インテリジェを使用しています。例えば
私は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)