【问题标题】:Jenkins plugin drop-down menuJenkins 插件下拉菜单
【发布时间】:2014-09-01 15:01:06
【问题描述】:

不知何故,我无法存储下拉菜单中的值,这些值是我为我的 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()之前的configure方法:

catchVersion = formData.getString("selection");

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

【问题讨论】:

    标签: jenkins jenkins-plugins jelly


    【解决方案1】:

    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") ));
    }
    

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

    【讨论】:

    • 这与我已经尝试过的类似。但不幸的是,这只会使列表为空。如果我单击下拉菜单,则不会再出现任何内容。
    • 哦,天哪,对不起,我错了。我错过了“@QueryParameter 字符串选择”作为 doFill 函数的参数。现在我添加了它并且它有效。非常感谢! :)
    猜你喜欢
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多