Я играю с гобеленом 5.2.4 и AJAX.
В моем Test.tml есть форма:
<form t:id="form">
<t:label for="userName"/>:
<input t:type="TextField" t:id="userName" size="30"/>
</form>
И зона, в которой отображается переменная «test»:
<t:zone t:id="myZone" id="myZone">
<p>show test ${test}</p>
</t:zone>
Теперь я пытаюсь поместить значение поля формы "userName" в зону с помощью actionlink:
<t:actionlink t:id="SomeLink" zone="myZone" context="${userName}">update</t:actionlink>
Вот класс Java Test.java:
public class Test {
@Persist
@Property
private String userName;
@Property
private String test;
@InjectComponent
private Zone myZone;
@Component
private Form form;
Object onActionFromSomeLink(String input) {
test = input;
return myZone.getBody();
}
}
Я думал, что это "примет" значение поля формы userName и передаст его с помощью actionlink методу onActionFromSomeLink. Метод устанавливает переменную «test» для ввода, и зона отображается.
Это не работает и выдает ошибку, которую я не понимаю:
Ошибка Ajax: Состояние 500 для /example/test.somelink
: Событие запроса 'action' (для компонента Test: somelink) не было обработано; Вы должны предоставить соответствующий метод обработчика событий в компоненте или в одном из его контейнеров.
Communication with the server failed: Request event 'action' (on component Test:somelink) was not handled; you must provide a matching event handler method in the component or in one of its containers.
Как я могу реализовать функцию, которая принимает данные из формы, а затем обновляет зону?
Приветствия