Как добавить кнопку для вызова метода java

#java #wicket

Вопрос:

Я попытался написать код ниже, но функция java onSubmit (), похоже, не вызывается. Я также попытался добавить onclick к кнопке и вызвать метод, но он все равно не вызывается

reschedule.java

 WebMarkupContainer rescheduleContainer = new WebMarkupContainer("reschedule");

Button addRescheduleBtn = new Button("addReschedule"){
     @Override
     public void onSubmit() {
         final Item i = getJtrac().loadItem(globalItem.getId());
         Calendar date = Calendar.getInstance();
         long timeInSecs = date.getTimeInMillis();
         Date rescheduleDateTime = new Date(timeInSecs   (20 * 60 * 1000));
         i.setNextExecutionTime(rescheduleDateTime);
         i.setStatus("ready");
         getJtrac().updateItem(i);
     }
 };

 addRescheduleBtn.setDefaultFormProcessing(false);
 rescheduleContainer.add(addRescheduleBtn);
 add(rescheduleContainer);
 

reschedule.html

 <form>
<div class="space-below" wicket:id="reschedule">
    <input type="submit" wicket:id="addReschedule" class="btn btn-primary" wicket:message="value:item_view.reschedule"/> 
</div>
</form>
 

Комментарии:

1. Вы пробовали использовать Link onClick вместо этого с перезаписью? Ваша кнопка встроена в форму, но так как вы никогда не создаете Form внутри кода java, калитка не знает, как обрабатывать отправку, и просто игнорирует ее.

2. Попробуйте добавить a wicket:id в форму, затем создайте a Form в своем коде Java. Затем добавьте кнопку в компонент формы на java.

3. Проверьте документацию по калитке ci.apache.org/projects/wicket/guide/9.x/…

4. Я понимаю. Я постараюсь реализовать «Форму». Есть ли какая-либо альтернатива нажать на кнопку и вызвать метод java?

5. @magicmn уже объяснил альтернативу: используйте Link