首页 > 解决方案 > 调用另一个按钮的onSubmit方法

问题描述

我有 1 个 ajax 按钮和 1 个链接:

AjaxButton buttonA = new AjaxButton("buttonA") {

    private static final long serialVersionUID = 1L;

    @Override
    protected void onSubmit(AjaxRequestTarget target) {
        info("buttonA");
    }
}

Link<void> buttonB = new Link<void>("buttonB") {
    ...
}

我想当我点击 buttonB 时相当于 buttonA 点击

请帮我。

标签: wicket

解决方案


将 ButtonA#onSubmit() 的主体提取到单独的方法中,然后在 ButtonB#onClick() 中调用此方法

private void doWork() {...}

AjaxButton buttonA = new AjaxButton("buttonA") {

   @Override
   protected void onSubmit(AjaxRequestTarget target) {
     doWork();
   }
}

Link<void> buttonB = new Link<void>("buttonB") {
   @Override public void onClick() {
     doWork();
   }
}

推荐阅读