Juergen Donnerstag wrote:

What do you normally do? Having a panel that, in the same page, should
display different things depending on what the user does must be a
common design pattern.



create different panels and enable/disable them.

Say you have a list of Client objects displayed in one part of your page. Beside that list there is an "Edit Client" panel (preferably always visible). When the user selects a client from the list the edit panel should get populated with the corresponding details. The user can then edit the client data, save the changes and select a different client.

Surely you would do this with one panel?

Currently I have the Form inside the "Edit Client" panel set to not visible until have set the model object (and actually created the correct model) but I still get this error:

The form is still being rendered!

wicket.WicketRuntimeException: OGNL Exception: expression='code'; path='1:edit:form:code' at wicket.model.AbstractPropertyModel.onGetObject(AbstractPropertyModel.java:150) at wicket.model.AbstractDetachableModel.getObject(AbstractDetachableModel.java:100)
        at wicket.Component.getModelObjectAsString(Component.java:666)
at wicket.markup.html.form.FormComponent.getModelValue(FormComponent.java:317)
        at 
wicket.markup.html.form.FormComponent.getValue(FormComponent.java:202)
        at wicket.markup.html.form.TextField.onComponentTag(TextField.java:94)
        at wicket.Component.renderComponent(Component.java:1782)
at wicket.markup.html.WebMarkupContainer.onRender(WebMarkupContainer.java:78)
        at wicket.Component.render(Component.java:1119)
        at wicket.MarkupContainer.renderNext(MarkupContainer.java:1106)
        at 
wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:781)
        at wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:723)
        at wicket.Component.renderComponent(Component.java:1805)
at wicket.markup.html.WebMarkupContainer.onRender(WebMarkupContainer.java:78)
        at wicket.markup.html.form.Form.onRender(Form.java:482)
        at wicket.Component.render(Component.java:1119)


I do not know your application,

but I guess I would go for a single model which contains all form
component, whether set visible or not. And on submit propagate the
information into proper businsess object if applicable. But of course
that is only a suggestion and there are possible more approaches to
it.

Why not have the business object itself in the CompoundPropertyModel?



CompoundPropertyModel is fine and meets many requirements, but
sometimes one of the other model is the better choice. There no single
"this cover 100% of all requirements".

Juergen


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf


--
http://ojalgo.org/

Mathematics, Linear Algebra and Optimisation with Java



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to