Я работаю над плагином Jenkins. У меня есть список с некоторыми вариантами. Я создал этот список, используя класс Jelly и Jenkins / hudson ListBoxModel.
Вот мой Java Код:
public ListBoxModel doFillArgListItems() throws InterruptedException, IOException {
ListBoxModel m = new ListBoxModel();
m.add("arg1");
m.add("arg22");
return m;
}
А вот мой Jelly Script:
<?jelly escape-by-default='true'?>
<j:jelly xmlns:j="jelly:core" xmlns:html="jelly:html" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:c="/lib/credentials">
<st:bind var="backend" value="${descriptor}"/>
<f:entry title="Arguments" field="argList">
<f:select id="arguments" onchange="createAnotherList()" />
</f:entry>
Как видите, есть тег select, в котором я заполняю параметры из функции Java doFillArgListItems.
Теперь я хочу динамически создать другое окно списка при событии click / onchange выбранного элемента в список.
Для этой цели я пытаюсь вызвать функцию из JavaScript и создать список, используя чистый JavaScript. Как видите, я вызываю функцию createAnotherList () для события "onchange" выбранного элемента.
Вот код JavaScript:
<script type="text/javascript" >
function createAnotherList() {
var e = document.getElementById("arguments");
var arg = e.options[e.selectedIndex].value;
//Code to render list box using JavaScript
//which I have not implemented for the moement
}
</script>
Но, прежде чем делать это исключительно в JavaScript, я хочу знать, правильный это подход или нет.
Или есть ли какой-либо стандарт Способ "Jelly + Java", который существует для выполнения этой работы?
Заранее спасибо.