java - Jelly 配置展开元素

标签 java maven jenkins jenkins-plugins jelly

我有一个简单的问题。在jenkins中,当为gui制作jelly配置文件时,您可以有一个单选按钮展开并显示更多元素,这也可以通过下拉列表来完成吗?如果是这样,有人有例子吗?我知道如何使用单选按钮来完成此操作,但我不需要单选按钮,我需要内容取决于选择。

编辑:目前我有以下内容:

   <f:entry title="${%Authentication}" field="authMode">
        <f:select />
    </f:entry>

并在java文件中:

    public ListBoxModel doFillAuthModeItems() {
        ListBoxModel items = new ListBoxModel();
        items.add("None");
        items.add("Form Based Authentication");
        items.add("Script Based Authentication");
        return items;
        }

这将创建一个包含 3 个元素的下拉列表,例如,我只需要根据选择显示不同的内容。 None 不会有新内容,Form Based 将显示用户名和密码文本字段。

最佳答案

你需要研究的是异类列表果冻标签。上面有一个很好的页面来自 cloud bees但他们的代码已关闭

我为 selenium-axis-plugin 整理了一个开源项目但这是在 groovy 中并使用 groovy 形式

namespace(lib.FormTagLib).with {
    entry(title: _("Name"), field:"name") {
        textbox( default:"label")
    }
    block{
        entry(field:"seleniumCapabilities") {
            hetero_list( name: "seleniumCapabilities",
                      hasHeader: true,
                      descriptors:descriptor.axisItemTypes(),
                      items:      instance? 
                           instance.getSeleniumCapabilities():
                           descriptor.loadDefaultItems())
        }
    }
}

source

它的工作原理是,顶级描述符上有一个方法,它返回所有可以使用的描述符

List<ItemDescriptor> axisItemTypes() {
    def ait = Jenkins.instance.<Item,ItemDescriptor>getDescriptorList(Item)

    def ret = []

    for (int i = 0; i < ait.size(); i++) {
        /*code removed*/
        ret.add(ait.get(i))
    }
    ret
}

source

所有嵌套项都必须有自己的描述符和@DataBoundConstructor

关于java - Jelly 配置展开元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39843036/

相关文章:

java - hibernate.cfg.xml 没有被拾取

java - Solaris 10 64 位上的 Jenkins

jenkins - 压缩 Jenkins Pipeline 中的目录

Java:解析文件路径

java - JUnit 测试未能测试 system.out.println 结果

java - 如何让 Gson 的单转义与 Javascript 的特殊字符和符号的双转义一起使用?

java - jsp的文件夹结构?

java - Maven Checkstyle 和有效的 POM

github - 在 GitHub 合并事件上触发 Jenkins 构建

java - 动态加载指向由 FXML 构造的多边形的点