为了账号安全,请及时绑定邮箱和手机立即绑定

Thymeleaf 输入表单绑定

Thymeleaf 输入表单绑定

LEATH 2023-01-05 15:27:56

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

<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.)绑定到我的对象上?


查看完整描述

1 回答

?
明月笑刀无情

TA贡献1568条经验 获得超4个赞

该文档明确表示可以绑定到其他类型:

请注意,th:field还了解<input>HTML5 引入的新元素类型,如<input type="datetime" ... /><input type="color" ... />等,从而有效地将完整的 HTML5 支持添加到 Spring MVC。

该文档还提供了一个示例:

<div>
  <label th:for="${#ids.next('covered')}" th:text="#{seedstarter.covered}">Covered</label>
  <input type="checkbox" th:field="*{covered}" />
  </div>

当然,该字段covered必须是类型boolean。请确保您的input元素类型与您的字段类型匹配。


查看完整回答
反对 回复 2023-01-05

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信