Thanks the toString override seems to work in that the correct values/ids that I want do get posted back.Like you mentioned is this the right way to do it?Even with this solution in response to the submit I still continue to get an error back - which isn't making much sense to me.http://localhost:8080/wicket/test/?wicket:interface=:5:DisplayPanel:PublishForm::IFormSubmitListenerWicketMessage: No get method defined for class: class java.lang.String expression: idRoot cause:wicket.WicketRuntimeException: No get method defined for class: class java.lang.String expression: id at wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:324) at wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:200) at wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:88) at wicket.markup.html.form.ChoiceRenderer.getIdValue(ChoiceRenderer.java:148) at wicket.markup.html.form.AbstractSingleSelectChoice.getModelValue(AbstractSingleSelectChoice.java:140) at wicket.markup.html.form.FormComponent.getValue(FormComponent.java:583) at wicket.markup.html.form.AbstractChoice.onComponentTagBody(AbstractChoice.java:319) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:613).........................[Page class = com.test.web.myaccount.MyAccount, id = 5]: # Path Size Type Model Object 1 <auto>_header 481 bytes wicket.markup.html.internal.HtmlHeaderContainer 2 DisplayPanel 6.5K com.test.web.myaccount.AccountPublishDisplayPanel 3 DisplayPanel:PublishForm 9.5K wicket.markup.html.form.Form> Date: Mon, 30 Jul 2007 12:45:36 +0200> From: [EMAIL PROTECTED]> To: [email protected]> Subject: Fwd: [Wicket-user] editable form> > Hi,> > Sorry if duplicated:> > On 7/29/07, Ed _ <[EMAIL PROTECTED]> wrote:> >> > I am trying to create an editable form - this has a drop down list. in it> >> > List ratingList = cfg.getContentRatingList();> > DropDownChoice ratingChoice = new DropDownChoice("rating", new> > PropertyModel(form, "category"), ratingList, new> > ChoiceRenderer("label", "id"));> > I think what happens here is form.setCategory(ratingList.get(chosenOne)).> That's why you see generic toString output as the assigned value.> As a simple hack, you could override the toString() method of the rating class.> For a semi-decent solution, override the convertValue method of DropDownChoice.> I think what you really need is to add a Converter to ratingChoice.> (but IConverter does not extend IBehavior, so I don't know how to do> that properly)> > I also don't know how these conversion tricks will work in the reverse> direction, when displaying the rating already in the model.> > And in an unrelated note, you could call this component "category"> instead of "rating", and give a CompoundProertyModel to the form.> Saves a lot of typing in the long run,> > ---------------------------------------------------------------------> To unsubscribe, e-mail: [EMAIL PROTECTED]> For additional commands, e-mail: [EMAIL PROTECTED]> _________________________________________________________________ Local listings, incredible imagery, and driving directions - all in one place! Find it! http://maps.live.com/?wip=69&FORM=MGAC01
