Or how about a simple solution:

public MyApplication extends WebApplication {
  public Object lookup(String name) {
     Object=...do a lookup from somewhere like spring context or app object...;
     return object;
   }
}

public MyPage extends Page {
    public transient SomeService service;

   public SomeService getService() {
      if (service==null) {
         service=getApplication().lookup(SomeService.class.getName());
      }
      return service;
}

I know its not quiete as elegant as ioc but it has none of the performance hits an automatic injection would cause if it would be done on deserialization of every component. Also its a lazy lookup so you dont do it until its needed, and its only done once per page (until it gets deserialized).

-Igor

    

Reply via email to