2
私は改札する新たなんだ、と私は、私は自分のアプリケーションを実行しようとしたとき、彼はエラーを以下の取得:改札モーダルウィンドウのエラー
WicketMessage:モーダルウィンドウのコンテンツIDが間違っているの。コンポーネントID:myPanel;コンテンツID:コンテンツ:私のAddStudentのHTMLで
:
<span wicket:id="InformationDialog"/>
<span wicket:id="myPanel"/>
これらは(コンストラクタで)AddStudent.javaの私の開始タグ
後の最初のものです:
panel=new InformationPanel("myPanel");
message=new ModalWindow("InformationDialog");
message.setContent(panel);
message.setCssClassName(ModalWindow.CSS_CLASS_BLUE);
message.setTitle("Important Information");
InformationPanelが拡張するパネル:
<html>
<wicket:panel>
<table>
<tr>
<td><span wicket:id="message"/></td>
</tr>
<tr>
<td><input type ="button" value ="OK" wicket:id="ok"/></td>
</tr>
</table>
</wicket:panel>
<html>
明らかに10
、私は、対応するJavaクラス、それが適切でない可能性がありますが、ここでそれが持っている:
package myapp.project;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.panel.Panel;
public class InformationPanel extends Panel {
private Button ok;
private Label messageLabel;
public InformationPanel(String id){
super(id);
messageLabel=new Label("message","");
ok=new Button("ok"){
public void onSubmit(){
AddStudent student = new AddStudent();
setResponsePage(student);
}
};
add(ok);
add(messageLabel);
}
public void setSuccessful(){
messageLabel.setDefaultModelObject("You have successfully added the student");
}
public void setUnSuccessful(){
messageLabel.setDefaultModelObject("A student with that username already exists!");
}
}
問題のないアイデア。あなたのAddStudent.javaコンストラクタで事前に感謝
ありがとうございますが、今すぐ言われます:WicketMessage:[MarkupContainer [Component id = _extend8]]に 'InformationDialog'というIDのコンポーネントが見つかりません。つまり、マークアップでwicket:id = InformationDialogを宣言しましたが、ページにコンポーネントをまったく追加しなかったか、階層が一致していないことを意味します。 [markup = file:/ C:/workspace/MyApp/context/WEB-INF/classes/myapp/project/AddStudent.html –
これは、HTMLマークアップとJavaの間に不一致があります。 AddStudentクラスに 'add(message)'がありませんか? –
これは私が投稿した直後にすぐに実現しました。私はそれをソートしたと思っていましたが、明らかにそうではありません。どうもありがとうございます! –