Возможно ли динамическое обновление значения текстового поля в желе?Jenkins Jelly Обновление текстового поля
У меня есть раскрывающийся список, параметры которого определяются на основе предыдущих данных в форме. Выполнение было простым, если доступная документация была доступна онлайн (просто используя метод doFill...Items()
в дескрипторе). Каждая опция представляет собой "Property"
. В раскрывающемся списке у меня есть текстовое поле, которое представляет свойство "Property Value"
.
Jelly Файл:
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:entry title="Property" field="property">
<f:select />
</f:entry>
<f:entry title="Value" field="propertyValue">
<f:textbox value="${descriptor.getDefaultValue()}" />
</f:entry>
<div align="right">
<f:repeatableDeleteButton/>
</div>
</j:jelly>
Каждый раз, когда выбран новый элемент в раскрывающемся списке, я хочу, чтобы обновить текстовое поле с текущим значением свойства. Я пробовал несколько разных вещей, таких как установка атрибутов default
и value
в файле Jelly. Тем не менее, я не смог выяснить способ запуска обновления в текстовое поле после того, как форма была инициализирована.
Descriptor:
@Extension
public static class DescriptorImpl extends Descriptor<ProvisionPropertyParam> {
/**
* Gets a list of update properties for a specific component.
*
* @param component
* @return ListBoxModel - the list of update properties for the component
*/
public ListBoxModel doFillPropertyItems(@QueryParameter("component") @RelativePath("..") String component) {
return ServiceManager.userInterfaceService().getProvisionProperties(component);
}
public String doFillPropertyValue(@QueryParameter("property") String property) {
return ServiceManager.userInterfaceService().getPropertyValue(property);
}
public String getDefaultValue() {
return "Test";
}
/**
* {@inheritDoc}
*/
@Override
public String getDisplayName() {
return "Provision property";
}
}
Я могу установить значение текстового поля с помощью метода getDefaultValue()
успешно. Тем не менее, мне нужно иметь возможность использовать doFillPropertyValue()
или другой по-разному метод, который работает одинаково. Я бы предположил, что это должно быть так же просто, как установить метод в файле желе, но этот метод имеет параметр, и я не уверен, как сделать вызов метода в желе, учитывая, что у меня нет значения для отправки Это.
Я попробовал установку:
<f:textbox value="${descriptor.doFillPropertyValue()}"/>
Но это, очевидно, ничего не делать. Может ли кто-нибудь предоставить мне некоторые рекомендации?
пытались ли вы без parenthensis в конце? –