果冻-如何使用果冻标签中的参数调用Java方法

时间:2018-08-31 06:24:11

标签: jenkins jelly

我的.jelly文件中包含以下条目:

<j:forEach items="${instance.getVerdictCategoriesList()}" var="p">
    <f:entry title="${%Started}"                             
             field="${p.verdictValue}">
             <f:textbox name="${p.verdictValue}"
                        value="${instance.returnDefaultZeroValue()}"
                        default=""/>
    </f:entry>

当前,我正在呼叫${instance.returnDefaultZeroValue()},它可以正常工作。

我想调用带有多个参数的方法。我该怎么办?

赞:value="${instance.getGerritReportingValueForCustomLabel(${p.verdictValue})}" 但这会失败,并显示“无法解析果冻”错误。

2 个答案:

答案 0 :(得分:0)

我想你是说

value="${instance.getGerritReportingValueForCustomLabel(p.verdictValue)}"

${…}语法将JEXL表达式的插值引入到否则将被视为文字字符串的情况。它不是JEXL本身的一部分。

答案 1 :(得分:0)

有两种使用Jelly文件调用Java方法的方法 以下是两个对象的使用

  1. 描述符:您现在知道,描述符是该对象指向的配置类。因此,随时可以从果冻中调用Descriptor类中的方法。

  2. 实例:这是当前在配置页面上配置的对象。如果是新添加的实例,则为Null。这意味着您可以从Action类中调用方法。就像获取字段属性的方法一样。

您可以使用以下方式将对象与果冻绑定

<st:bind var="backend" value="${descriptor}"/>

OR

<st:bind var="instance" value="${instance}"/>

该方法可以称为后端。{backend method name}()。

如果您是通过JavaScript使用的,则需要在被调用的方法上使用@JavaScriptMethod注释。