I believe the cause -- and I've reproduced locally -- is this HTML:

                                                 <tr
wicket:id="shipperAddressPanel"></tr>

Don't dump content into the <tr>

Try changing this to

<tr>
<td>
<div wicket:id="shipperAddressPanel"/>
</td>
</tr>

And see if it fixes the issue.

Ed.



On Fri, Jun 25, 2010 at 4:37 PM, jammyjohn <jchinnas...@yahoo.com> wrote:
>
> Hi,
>
> The page loads address panel with couple of text fields . When the search is
> made for a particular address id, the address panel is rendered twice (one
> panel with the data, the second panel without the data). Not sure  how to
> avoid re-rendering of panel twice,
>
> setResponsePage(getPage()) can be a solution, but I dont want the whole page
> to be refreshed as I am using 4 panels in my page.
>
> The code is as below. Not sure if there is a problem in the way the markup
> is structured.  Appreciate your help in this regard.
>
> /************AddressPanel.html***************/
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
>
> <html xmlns="http://www.w3.org/1999/xhtml";
> xmlns:wicket="http://wicket.sourceforge.net/"; xml:lang="en"     lang="en">
>        <body>
>                <wicket:panel>
>                                        <tr>
>                                                <th>Adr1:</th>
>                                                <td align="left"><input 
> type='text' wicket:id="address" size='30'
> maxlength='45'/></td>
>                                        </tr>
>                                        <tr>
>                                                <th  align='right'>Adr2:</th>
>                                                <td  align="left"><input 
> type='text' wicket:id="address2" size='30'
> maxlength='45'/></td>
>                                        </tr>
>                 </wicket:panel>
>        </body>
> </html>
>
> /****************AddressPanel.java***************/
>
> public class AddressPanel extends Panel {
>
>        public AddressPanel(String id, IModel model) {
>            super(id);
>
>           setDefaultModel(new CompoundPropertyModel(model));
>            add(new RequiredTextField("address"));
>            add(new
> TextField("address2").setConvertEmptyInputStringToNull(false));
>    }
>
> }
>
> /************* java file that instantiates the panel *************/
>
> final  Panel shipAddressPanel = new AddressPanel("shipperAddressPanel", new
> Model(address.getShipAddress()));
>                shipAddressPanel.setOutputMarkupId(true);
>                mawbForm.add(shipAddressPanel);
>
>                add(mawbForm);
>
> final TextField shipIdTf =  new TextField("shipperId", new
> PropertyModel(dtomodel, "shipperId"));
>                shipIdTf.setOutputMarkupId(true);
>                mawbForm.add(shipIdTf);
>
>
>                shipIdTf.add(new AjaxFormComponentUpdatingBehavior("onBlur"){
>                        private static final long serialVersionUID = 1L;
>                       �...@override
>                        protected void onUpdate(AjaxRequestTarget target) {
>                                Shipper shipper=
> shipDao.loadShipAddress(Long.parseLong(shipIdTf.getDefaultModelObjectAsString()))
>                                Address address = new Address();
>                                address.setShipAddress(shipper);
>                                
> shipAddressPanel.setDefaultModelObject(address.getShipAddress());
>                                target.addComponent(shipAddressPanel);
>                        }
>
>        });
>
>
>
>
>
>
> /********* the template that calls the panel ***********/
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
>
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
> <head></head>
> <body>
>
> <form wicket:id="form">
> <table><tr>
> <td valign='top' style="width:8em;height:15em;">
>                                                        <table width='100%' 
> border='1' cellpadding='1' cellspacing=''>
>                                                <tbody>
>                                                <tr>
>                                                                <td 
> class='instrLabelColor' colspan="2"
> align='center'>SHIP From:
>                                                                        <input 
> type='text' wicket:id="shipperId" />
>                                                                 </td>
>
>                                                         </tr>
>                                                        <tr 
> wicket:id="shipperAddressPanel"></tr>
>                                                </tbody>
>                                                </table>
>                                        </td>
>                                        </tr></table>
>
> </form>
> </body>
> </html>
>
> Thanks
> J
> --
> View this message in context: 
> http://apache-wicket.1842946.n4.nabble.com/Panel-re-rendered-twice-when-the-data-is-pulled-in-tp2268924p2268924.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to