mty*_*urt 24 html html-input thymeleaf
如您所知,input
组件具有一个属性,checked
是否将复选框标记为默认启用.
<input type="checkbox" name="mycheckbox" checked="checked"/>
Run Code Online (Sandbox Code Playgroud)
要在默认情况下禁用该复选框,checked
应声明该异常.是否可以checked
通过Thymeleaf中的旗帜设置属性?
Far*_*ook 51
根据官方百里叶文件
http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#fixed-value-boolean-attributes
th:checked
被视为固定值布尔属性.
<input type="checkbox" name="active" th:checked="${user.active}" />
Run Code Online (Sandbox Code Playgroud)
哪里user.active
应该是boolean
.
所以在你的情况下它应该像Andrea所说的那样,
<input type="checkbox" name="mycheckbox" th:checked="${flag}" />
Run Code Online (Sandbox Code Playgroud)
挖了一点之后,我找到了解决方案.有th:checked
这个目的的属性.
这有效:
<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked'">
Run Code Online (Sandbox Code Playgroud)
这失败了:
<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked' : ''">
Run Code Online (Sandbox Code Playgroud)
如果checked=""
设置为input
组件,则标记为已选中.此方法也适用于自定义属性th:attr
.考虑以下示例:
<p th:attr="customattr=${flag}?'attr'></p>
Run Code Online (Sandbox Code Playgroud)
如果flag
是真的,它将替换为:
<p customattr="attr"></p>
Run Code Online (Sandbox Code Playgroud)
如果flag
是假,则将其替换为:
<p></p>
Run Code Online (Sandbox Code Playgroud)