thymeleaf - 有没有办法传递无法从输入元素中编辑或删除的字符串?
thymeleaf - is there a way to pass a String that can't be edited or removed from an input element?
我需要使用另一个作为其一部分来构建一个字符串 ID。
我知道我可以将 model.addAttribute("parentId", parentId);
传递给页面并显示为
<div>
<span th:text="${parentId}"/><input id="id" type="text" th:field="${id}" />
</div>
但我希望将其全部放在 <input />
元素中作为占位符,并使 $[parentId}
文本无法被删除和编辑。
有没有办法只使用 Thymeleaf 和 NO JavaScript?
更新
根据要求,示例如下:
parentId
可以是任何字符串,例如 "abc".
parentId
值将被传递到屏幕并且输入将具有固定值 "abc:",这将允许更改并且任何值都可以插入输入字段,因此结果id 类似于 abc:xpto
.
我认为在视图方面不可能做到这一点。
您可以做的是在控制器端管理parentId
和id
的值。
因此,在使用 span
维护您的视图以显示 parentId
和 input
显示 id
的同时,假设您的 input
是在 form
中,在控制器中你可能有这样的东西:
@RequestMapping(value = "/submitId", method = RequestMethod.POST)
public void manageId(String id) {
id = parentId + id;
//work with the complete id
}
其中 parentId
是您之前发送到 Model
的同一个变量。
之后,您可以对新的 id
值做任何您需要做的事情,从将值保存到数据库到在另一个视图中显示它。
我需要使用另一个作为其一部分来构建一个字符串 ID。
我知道我可以将 model.addAttribute("parentId", parentId);
传递给页面并显示为
<div>
<span th:text="${parentId}"/><input id="id" type="text" th:field="${id}" />
</div>
但我希望将其全部放在 <input />
元素中作为占位符,并使 $[parentId}
文本无法被删除和编辑。
有没有办法只使用 Thymeleaf 和 NO JavaScript?
更新
根据要求,示例如下:
parentId
可以是任何字符串,例如 "abc".
parentId
值将被传递到屏幕并且输入将具有固定值 "abc:",这将允许更改并且任何值都可以插入输入字段,因此结果id 类似于 abc:xpto
.
我认为在视图方面不可能做到这一点。
您可以做的是在控制器端管理parentId
和id
的值。
因此,在使用 span
维护您的视图以显示 parentId
和 input
显示 id
的同时,假设您的 input
是在 form
中,在控制器中你可能有这样的东西:
@RequestMapping(value = "/submitId", method = RequestMethod.POST)
public void manageId(String id) {
id = parentId + id;
//work with the complete id
}
其中 parentId
是您之前发送到 Model
的同一个变量。
之后,您可以对新的 id
值做任何您需要做的事情,从将值保存到数据库到在另一个视图中显示它。