我有一個簡單的,神祕的問題與標籤和使用ajax來顯示它。檢票標籤+ Ajax不工作
public class ChecklistTemplateForm extends Form{
private static final long serialVersionUID = 1L;
private Label cantSaveLabel;
public ChecklistTemplateForm(String id) {
super(id);
cantSaveLabel = new Label("cantSaveLabel", "Name is not unique, enter another name and try saving again.");
cantSaveLabel.setVisible(false);
cantSaveLabel.setOutputMarkupId(true);
add(cantSaveLabel);
add(new AjaxButton("saveButton") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
target.addComponent(cantSaveLabel);
//here i do some stuff to decide if canSave is true or false
if (canSave){
setResponsePage(AdminCheckListPage.class);
}
else if (!canSave){
cantSaveLabel.setVisible(true);
System.out.println(canSave);
}
}
});
}
}
有趣的是,是canSave是假的,是System.out.print的工作,但從未cansavelabel變得可見。我錯過了什麼?
感謝您的幫助。我不知道這種行爲。儘管我嘗試使用webmarkupcontainer但沒有成功。在我的代碼中可能會有一些其他錯誤,從而阻止它的工作。此外,我現在意識到,由於我將使用此面板編輯對象以及創建新對象,因此要求所有對象的唯一名稱不是最聰明的想法。 – fred
@fred你可以用WebMarkupContainer發佈一些代碼嗎?或者是因爲你不再需要這種行爲而解決了? – bert
對不起,晚回答。是的,不幸的是,我將這個包裝稱爲不再需要的功能。我很欣賞你的意見,我很抱歉,我不能給你一個更詳細的例子。 – fred