首次加载页面时,下拉列表中的默认选项为“选择一个”。即使我选择了一个选项,有没有办法让它保持在下拉列表中? (如果我想稍后放一点)
答案 0 :(得分:37)
您需要使用DropDownChoice.setNullValid()
方法。来自javadoc:
确定当字段的模型值为非空时,是否应将空值包含在选项列表中,以及是否应显示null_valid字符串属性(例如“选择一个”),直到选择了非空值为止。如果设置为false,则当值为null时,将显示“Choose One”。选择一个值后,该更改将传播到基础模型,用户将不再看到“选择一个”选项,并且无法重新选择null作为值。如果设置为true,则无论是否选择了非空值,空字符串属性(默认情况下为空字符串)将始终显示为选项。请注意,此设置对验证没有影响;为了保证在表单验证中指定一个值,FormComponent.setRequired(boolean)。这是因为即使使用false调用setNullValid(),用户也可能无法通过永远不激活(即单击)组件来提供值。
如果要使用NullValid = true保留“选择一个”文本,可以在Application.properties文件中使用类似于以下行的行:
nullValid=[Choose one]
答案 1 :(得分:5)
在.java中:
DropDownChoice<Boolean> myDropDown = new DropDownChoice<>(
"myDropDownWicketId", model, Arrays.asList(true, false), renderer);
myDropDown.setNullValid(true);
在与java类相关联的.properties文件中添加:
myDropDownWicketId.nullValid=Choose One
myDropDownWicketId.true=Yes
myDropDownWicketId.false=No