我们可以通过两种方式解决您的情况
第一种方法:
<input type="hidden" th:value="${question.id}" th:attr="name='quizID'" />
第二种方式:
<input type="hidden" th:value="${question.id}" name="quizID" />
如果您使用 thymeleaf th:field="*{sequenceNo}",thymeleaf 的内部代码的工作方式如下,
它将检查特定元素是否有任何 name 属性(如果可用)th:字段值覆盖名称属性。
名称=“序列号”
它将检查特定元素是否有任何 id 属性,如果它不可用 th:field value 添加的新属性,即)id。
id=“序列号”
对我来说帮助设置
th:field
(或者实际上是name
)使用th:attr
th:value="${question.id}"
th:attr="name='questionIds[' + ${iter.index} + ']'"
在我的示例中,我想从
${question}
获取值,但输入中的目标是 questionIDs[i]
在像你这样的简单问题中
name=answerId
应该足够了。
Thymeleaf 似乎无法识别
hidden
字段。要修复它,请尝试以下操作:
"display:none"
的样式标签,以便在屏幕上隐藏元素。结果应该是这样的:
<input type="text" th:field="*{parameters[${stat.index}].field}" style="display:none;">
希望有帮助。
假设您要收集对某个页面的评论。然后,除了注释之外,您还必须向控制器传输页面名称。当然,用户不必重新输入该页面的名称。该信息必须传递给控制器,但 th:field 仅映射用户输入的值,而不映射默认生成的值。 但您可以将此页面的名称作为 URL 中的参数传递给控制器。 在 html 中,你有类似的东西:
<form th:action="@{/saveComment(lastPage=${lastPage})}" th:object="${comments}" method="post" enctype="multipart/form-data">
<div class="row">
.................................................................................
<h2>Enter your comment</h2>
<textarea th:field="${comments.comment}" rows="10" cols="100" name="comment" id="comment"></textarea>
<label for="comment">Your comment here</label><br />
<input type="submit" name ="submit" value="Submit" />
</div>
</form>
In controller, you put stuff like this:
@PostMapping("/saveComment")
public String saveComment(Comments comments, String lastPage) {
comments.setPage_commented(lastPage);
commentsRepository.save(comments);
return "redirect:/";
}
我遇到过这样的情况
<input type="hidden"
th:field="*{releaseArtifactDtos[__${itemStat.index}__].fileName}"
th:value="${releaseArtifactDto.fileName}" />
但这并没有
<input type="hidden"
th:field="*{releaseArtifactDtos[__${itemStat.index}__].versionName}"
th:value="${versionProperty.version.versionName}"
输入值将仅显示为“值”,而不进行赋值。 我可以通过在此之后立即转储该值来证明该值的存在。
<span th:text="${versionProperty.version.versionName}" />
隐藏输入类型中字段和值的组合似乎有点错误。 最终对我有用的是
<input type="hidden"
th:attr="name='releaseArtifactDtos[' + ${itemStat.index} + '].versionName'"
th:value="${versionProperty.version.versionName}"