Thymeleaf 输入表单绑定

我有一个绑定到我的班级的表格,一切正常。

<form th:action="@{/createPost}" th:object="${newPost}" method="post" class="form-signin">

        <input type="text" th:field="*{topic}" class="new-post-topic-input" placeholder="post topic"
               autofocus="true"/>
</form>

我想将我的输入 css 更改为不同的样式,但 type='text' 覆盖了所有内容。但是,如果我将输入类型更改为其他任何类型,它不会绑定值。我可以让 thymeleaf 看到其他输入类型来绑定它们吗?

更新

我有包含 css 样式的 bootstrap css 文件

但是我想在不从页面中删除 bootstrap css 的情况下为这个输入设置自己的样式。但是,如果我将 class='anyClass' 添加到此输入,来自 type='text' 的引导程序的 css 将覆盖所有内容。如果我将类型从文本更改为其他任何类型,thymeleaf 将不再映射值。

upd2我的 问题不是关于 CSS 覆盖。

我的问题是关于 thymeleaf 数据对象绑定。我在表单标签中有 th:object="${newPost}" 。Thymeleaf 看到它,当我提交我的表单时,它将每个 , 绑定到该对象的字段。

但是,如果我从 type='text' 更改为 type='ANYTHING ELSE'> thymeleaf 不会映射任何内容。我怎样才能让 thymeleaf 将其他标签(如 etc.)绑定到我的对象上?


LEATH
浏览 146回答 1
1回答

明月笑刀无情

该文档明确表示可以绑定到其他类型:请注意,th:field还了解<input>HTML5 引入的新元素类型,如<input type="datetime" ... />、<input type="color" ... />等,从而有效地将完整的 HTML5 支持添加到 Spring MVC。该文档还提供了一个示例:<div> &nbsp;&nbsp;<label&nbsp;th:for="${#ids.next('covered')}"&nbsp;th:text="#{seedstarter.covered}">Covered</label> &nbsp;&nbsp;<input&nbsp;type="checkbox"&nbsp;th:field="*{covered}"&nbsp;/> &nbsp;&nbsp;</div>当然,该字段covered必须是类型boolean。请确保您的input元素类型与您的字段类型匹配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java