#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
в форму, затем создайте aForm
в своем коде Java. Затем добавьте кнопку в компонент формы на java.3. Проверьте документацию по калитке ci.apache.org/projects/wicket/guide/9.x/…
4. Я понимаю. Я постараюсь реализовать «Форму». Есть ли какая-либо альтернатива нажать на кнопку и вызвать метод java?
5. @magicmn уже объяснил альтернативу: используйте
Link