如何禁用wicket中的AjaxLink按钮?

如何禁用wicket中的AjaxLink按钮?,wicket,Wicket,我正试图在 公共void onClick(AjaxRequestTarget目标)方法; 我试图直接调用setEnabled(false),但没有成功。我在网上看到的一些建议是调用isEnabled()或onConfigure()方法;但是这些不能在onclick方法中实现;需要帮忙吗 { buttonlabel.setDefaultModel(Model.of("Creating EWL")); targe

我正试图在
公共void onClick(AjaxRequestTarget目标)
方法; 我试图直接调用
setEnabled(false)
,但没有成功。我在网上看到的一些建议是调用
isEnabled()或onConfigure()
方法;但是这些不能在
onclick
方法中实现;需要帮忙吗

            {
                buttonlabel.setDefaultModel(Model.of("Creating EWL"));
                target.add(buttonlabel);
                buttonlabel.setOutputMarkupPlaceholderTag(true);

                boolean isWorkItemCreated = NewRecruitEWLUtil.createNewRecruitWorkItem(appInfo);

                if (isWorkItemCreated)
                {
                    buttonlabel.setDefaultModel(Model.of("EWL Created"));
                    target.add(buttonlabel);
                    buttonlabel.setOutputMarkupPlaceholderTag(true);
                    setEnabled(false);
                    target.add(this);
                    System.out.println("setEnabled ..." + isEnabled());
                }

            }
setEnabled(false)
是正确的方法!您还需要将AjaxLink添加到AjaxRequestTarget,以便在浏览器中重新绘制:

AjaxLink link = new AjaxLink("myLink") {
    @Override
    public void onClick(AjaxRequestTarget target) {
       setEnabled(false);
       target.add(this);
    }
};
add(link);
link.setOutputMarkupId(true);

谢谢马丁,这就解决了问题。请接受答案。单击左侧的复选标记。