情况是这样的——我把它List<String> skills
从用户配置文件放在前面。有必要显示这个列表,用逗号分隔作为输入字段的值。
尝试了以下 -
<input id="skills" type="text" class="form-control" name="skills[]" th:value="${#strings.listJoin(#messages.listMsg(currentUser.profile.skills), ',')}" />
问题 -
<input id="skills" type="text" class="form-control" name="skills[]" value="??Java_ru??,??PHP_ru??,??JavaScript_ru??">
请注意,??*_ru??
发生这种情况是因为我配置了国际化并且 Spring 正在尝试查找具有此类本地化的字符串。
另一个输出选项:
<input id="skills" type="text" class="form-control" name="skills[]" th:each="skill, iterStat : ${currentUser.profile.skills}" th:value="!${iterStat.last} ? ${skill} + ',': ${skill}" />
在这种情况下,它的输出如下:
<input id="skills" type="text" class="form-control" name="skills[]" value="Java,">
由于某种原因,它只显示一个标签,而不是 3 个。
有什么问题?在此先感谢您的帮助!
找到了解决方案:
这就是 thymeleaf 将所有字段组合成一行并用逗号分隔它们的方式。