Abid,

Hi,

I noted that you are adding the panel whether the data is null or not. I
would suggest you do this;

if (data!= null){

     //construct and add the panel

}

On Tue, Jul 27, 2010 at 11:28 AM, Abid K <abz...@gmail.com> wrote:

> I hope someone can help a newbie who is learning Wicket.
>
> I have the following code which accepts a parameter and then does a
> database
> query to get the 'Data' object. If the user enters the wrong Id the
> database
> query will return null and in this case I want to notify the user the data
> could not be found and any other component should be hidden.
>
> But, when I get an null object the code stops working and a null exception
> is thrown, any ideas? Or is there a elegant way to do this?
>
> public class DataView extends WebPage {
>
>  private Data data;
>
>  public DataView(PageParameters parameters) {
>    long dataId = parameters.getLong("dataId");
>
>    DataDao dataDao = new DataDao();
>    data = dataDao.getData( dataId );
>
>    // display message that the data could not be found
>    Label dataNotFound = new Label("dataNotFound", "Data could not be
> found");
>    dataNotFound.setVisible(data == null);
>
>    // otherwise display the panel containing the data
>    SomePanel panel = new SomePanel("somePanel");
>    panel.setVisible(data != null);
>
>    add(dataNotFound);
>    add(panel);
>  }
>
>  public class SomePanel extends Panel {
>    public SomePanel(String id) {
>      super(id);
>      // this throws null exception when data is null
>      Label label = new Label("someLabel", String.valueOf(data.getId()));
>      add(label);
>    }
>  }
> }
>
> Thanks
>

Reply via email to