0

不知何故,我无法存储下拉菜单中的值,这些值是我为我的 Jenkins 插件添加到 jelly.xml 中的。另一方面,文本字段工作得很好

果冻:

<f:entry title="Catch+ Version" field="selection">
  <f:select/>
</f:entry>

我没有向数据绑定构造函数添加任何内容。也许这已经是问题所在了。我不知道如何添加它,因为它不是字符串而是列表?!

所以我只添加了 doFillSelectionItems 函数,它可以正常工作。

public ListBoxModel doFillSelectionItems()
{
    return new ListBoxModel(new Option("1.13", "1.13"),
                    new Option("1.14", "1.14"),
                    new Option("1.15", "1.15"));
}

以及 save() 之前的配置方法:

catchVersion = formData.getString("selection");

毫无疑问,我可以在三个选项之间进行更改并存储值。我可以多次运行构建并且它使用选定的值,但是:如果我再次去配置项目,总是选择第一个选项,无论我之前选择了什么。如何使存储的值出现在这里?

4

1 回答 1

2

Option 构造函数的第三个参数定义了当前选择。您还可以将当前值传递给

public ListBoxModel doFillSelectionItems(@QueryParameter String selection) {
    return new ListBoxModel(new Option("1.13", "1.13", selection.matches("1.13") ),
                    new Option("1.14", "1.14", selection.matches("1.14") ),
                    new Option("1.15", "1.15", selection.matches("1.15") ));
}

改编自此处,但这是使用全局配置的示例

于 2014-09-01T21:20:36.507 回答