我有一个简单的选择表单,有三个选项。我希望其中一个是" 未安装" 问题是我不能设置" Not"在数据文本中,因为它被认为是一种表达。
<div class="form-group">
<label for="status">Status:</label>
<select data-th-field="*{status}" id="status" class="form-control">
<option data-th-value="available" data-th-text="Available"></option>
<option data-th-value="broken" data-th-text="Broken"></option>
<option data-th-value="not mounted" data-th-text="Not Mounted" ></option>
</select>
</div>
我收到了费用
org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "Not" (template: "exhibitor/editExhibitor" - line 20, col 60)
如何显示&#34;未安装&#34;文字?
答案 0 :(得分:2)
如果您正在使用Clear()
,那么百日咳正在期待一个可以评估的表达式。这里有2个选项:
使用常规属性。
data-th-text
让你的属性有效的百里香表达。
<div class="form-group">
<label for="status">Status:</label>
<select data-th-field="*{status}" id="status" class="form-control">
<option value="available">Available</option>
<option value="broken">Broken</option>
<option value="not mounted">Not Mounted</option>
</select>
</div>
或
<div class="form-group">
<label for="status">Status:</label>
<select data-th-field="*{status}" id="status" class="form-control">
<option data-th-value="'available'" data-th-text="'Available'"></option>
<option data-th-value="'broken'" data-th-text="'Broken'"></option>
<option data-th-value="'not mounted'" data-th-text="'Not Mounted'" ></option>
</select>
</div>
答案 1 :(得分:1)
您可以确保Thymeleaf通过使用了解它是一个字符串 单引号:
data-th-text="'Not Mounted'"
甚至更好,让它国际化并从消息包中获取它:
data-th-text="#{notMounted}"
在messages.properties
:
notMounted=Not Mounted
然后可以选择:
<option th:text="#{notMounted}" value="not mounted">Not Mounted</option>
请注意,无论您选择哪个选项,您都希望使用反斜杠\
转义字符串中的任何单引号。