Where do you use a CompoundPropertyModel? For your problem you have several solutions. Here is 2 of them :
1) - With the CompoundPropertyModel class MyModel { private String text; public MyModel(String text) { this.text = text; } public String getText(){ return text; } public void setText(String text) { this.text = text; } } class MyPanel extends Panel{ public MyPanel(String id, MyModel myModelObject){ super(id, new CompoundPropertyModel(myModelObject)); add(new TextField("text")); // the TextField id must be the name of your object property (...) } } MyModel myModelObject = new MyModel("hello"); add(new MyPanel("textPanel", myModelObject); 2) - With the PropertyModel class MyModel { private String text; public MyModel(String text) { this.text = text; } public String getText(){ return text; } public void setText(String text) { this.text = text; } } class MyPanel extends Panel{ public MyPanel(String id, MyModel myModelObject){ super(id); add(new TextField("panelField", new PropertyModel(myModelObject,"text"))); (...) } } MyModel myModelObject = new MyModel("hello"); add(new MyPanel("textPanel", myModelObject); Enjoy :-) Greg Pieter Cogghe a écrit : > Thanks for the responses, > > I ran into trouble when using a panel. Somehow I can't get my model > property associated with the textfield in the panel. > > class MyModel { > (...) > public String getText(){ > return text; > } > (...) > } > > My panel (simplified) > > class MyPanel extends Panel{ > > public MyPanel(String id, IModel fieldModel){ > super(id); > add(new TextField("panelField", fieldModel)); > (...) > } > } > > then I add the panel to the form (which has the MyModel as a > CompoundPropertyModel): > > add(new MyPanel("textPanel", new PropertyModel(this.getModelObject(), "text")) > > So the textfield within the panel should be associated with the "text" > property of the compoundProperty model (MyModel.getText). Somehow I > feel I get something seriously wrong here. > > Thanks, > > Pieter > > > > 2007/6/13, Jean-Baptiste Quenot <[EMAIL PROTECTED]>: > >> * Pieter Cogghe: >> >>> Hi, >>> >>> (I'm new to Wicket and relatively new to Java so beware of stupid >>> questions and bad code) >>> I've got a form with a text input. I want it rendered like this: >>> >>> <form (...)> >>> (...) >>> <p> >>> <label for="input_name">Name</label> >>> <input type="text" id="input_name" name="name" /> >>> </p> >>> (...) >>> </form> >>> >>> I want to write my own component, so I only have to write this >>> template html-code: >>> >>> <form wicket:id="input"> >>> (...) >>> <p> >>> <input type="text" wicket:id="name" /> >>> </p> >>> (...) >>> </form> >>> >>> The java code to add this to a page (TextFieldWithIdLabel of the >>> custom component) >>> >>> add(new TextFieldWithIdLabel("name").setLabel(new Model("Name"))); >>> >>> >>> I'm not sure how to this, I started by extending TextField and >>> overwriting onTagComponent like this: >>> >>> protected void onComponentTag(ComponentTag tag){ >>> setOutputMarkupId(true); >>> super.onComponentTag(tag) >>> } >>> >>> This works fine for the input-id, however I'm not sure how I can add >>> the label tag in front of it. Maybe I should write a custom panel? >>> >> A Panel would be nice, or otherwise there's a dirty hack to >> directly write tags into the response. >> -- >> Jean-Baptiste Quenot >> aka John Banana Qwerty >> http://caraldi.com/jbq/ >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> _______________________________________________ >> Wicket-user mailing list >> Wicket-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wicket-user >> >> > > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user