So if the property is first not null and I change it later on to null, I would run in trouble?
I changed it to this; public class LabelWithDefaultModel extends Label { private IModel defaultModel; public LabelWithDefaultModel(String id, IModel model, IModel defaultModel) { super(id, model); this.defaultModel = defaultModel; } public LabelWithDefaultModel(String id, IModel model, String defaultModel) { this(id, model, new Model(defaultModel)); } public LabelWithDefaultModel(String id, IModel defaultModel) { super(id); this.defaultModel = defaultModel; } public LabelWithDefaultModel(String id, String defaultModel) { this (id, new Model(defaultModel)); } @Override protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) { String model = (String) getModelObject(); replaceComponentTagBody(markupStream, openTag, (String) ((model != null) ? model : (String) defaultModel.getObject(this))); } } 2007/6/14, Martijn Dashorst <[EMAIL PROTECTED]>: > I wouldn't do that... If you change the property that should be shown > when not null, it will not be reflected here, as you have lost the > connection between the label and the original model. > > Martijn > > On 6/14/07, Pieter Cogghe <[EMAIL PROTECTED]> wrote: > > Hi, > > > > thanks for the help, I stripped it down to this: > > (seems to work fine) > > > > public class LabelWithDefaultModel extends Label { > > > > public LabelWithDefaultModel(String id, IModel model, IModel > > defaultModel) { > > super(id, model); > > if (this.getModelObject() == null){ > > this.setModel(defaultModel); > > } > > } > > > > } > > > > 2007/6/14, Martijn Dashorst <[EMAIL PROTECTED]>: > > > Make it a proper class: > > > > > > public class LabelWithDefaultText extends Label { > > > private String defaultText; > > > > > > public LabelWithDefaultText(String id, IModel model, String > > > defaultText ) { > > > super(id, model); > > > this.defaultText = defaultText; > > > } > > > @Override > > > protected void onComponentTagBody(MarkupStream markupStream, > > > ComponentTag openTag) { > > > String model = (String) getModelObject(); > > > replaceComponentTagBody(markupStream, openTag, model == null ? > > > defaultText : model); > > > } > > > }); > > > } > > > > > > Or make a model wrapper > > > > > > On 6/14/07, Pieter Cogghe <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > > > > > I'v got this in a list: > > > > > > > > add(new Label("name")) > > > > > > > > sometimes there's no name defined, then I want to set a default text, > > > > I'd do it like this: > > > > > > > > add(new Label("name").setDefaultModel(new Model("No name defined"))); > > > > > > > > Now I have it like this: > > > > > > > > item.add(new Label("name", new PropertyModel(item.getModel(),"name")){ > > > > @Override > > > > protected void onComponentTagBody(MarkupStream markupStream, > > > > ComponentTag openTag) { > > > > String model = (String) getModelObject(); > > > > if (model == null){ > > > > replaceComponentTagBody(markupStream, openTag, "no language > > > > selected"); > > > > } else { > > > > super.onComponentTagBody(markupStream, openTag) > > > > } > > > > } > > > > }); > > > > > > > > This is really verbose. Anybody knows a better way? > > > > > > > > thanks a lot, > > > > > > > > Pieter > > > > > > > > > > > > > > > > -- > > > > Pieter Cogghe > > > > Ganzendries 186 > > > > 9000 Gent > > > > 0487 10 14 21 > > > > > > > > ------------------------------------------------------------------------- > > > > 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 > > > > > > > > > > > > > -- > > > Join the wicket community at irc.freenode.net: ##wicket > > > Wicket 1.2.6 contains a very important fix. Download Wicket now! > > > http://wicketframework.org > > > > > > ------------------------------------------------------------------------- > > > 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 > > > > > > > > > -- > > Pieter Cogghe > > Ganzendries 186 > > 9000 Gent > > 0487 10 14 21 > > > > ------------------------------------------------------------------------- > > 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 > > > > > -- > Join the wicket community at irc.freenode.net: ##wicket > Wicket 1.2.6 contains a very important fix. Download Wicket now! > http://wicketframework.org > > ------------------------------------------------------------------------- > 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 > -- Pieter Cogghe Ganzendries 186 9000 Gent 0487 10 14 21 ------------------------------------------------------------------------- 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