如何在果冻<f:select/>中实现无选择?

How to achive no selection in jelly <f:select/>?

在config.jelly中,我有:

<f:entry field="field1">
   <f:select/>
</f:entry>

以及相应的 java 代码,用值填充上述组件:

public ListBoxModel doFillField1Items() {
        ...
}

当用户进入配置页面时,字段field1填充方法doFillField1Items()提供的第一个值。

还有我的问题: 是否可以配置(在果冻或 java 中)此 <f:select/> 组件最初没有选择字段 field1.

从HTML的角度来看,没有"no selection"这样的东西。 <select> 标签如果有任何 <option> 可用则将被 selected。 "nothing is selected" 的唯一方法是从中删除所有选项。

我不了解 Jelly,但您可能想要实现这样的代码:

<select required> <option selected disabled value="">No option selected</option> <option>Option 1</option> <option>Option 2</option> </select>

上面的代码会告诉浏览器预先 select 选项 "No option selected",但是因为它被禁用,所以在更改 selection 之后用户将无法选择回来 "No option selected".添加到 <select><option value=""> 的组合 required 属性将强制用户制作一个 selection(理论上),否则 <form>(假设你有一个)将有效。