title: How to re-render Wicket component after the Event reception
body: <p>I have a <em>Wicket</em> component which is listening for some event (<code>IEvent</code>). If such event arrives, I want to re-render the component with a changed model. There are no active controls on the page, like <code>AjaxLink</code>, which can trigger the re-rendering.</p>
  
  <p>Is there a way to refresh such kind of component?</p>
  
  <p>I was thinking to somehow trigger an AJAX request from the <code>onEvent</code> method and add an <code>AjaxBehavior</code> to the mentioned component. But I don't know, how to trigger the AJAX request.</p>
  
  <pre class="lang-java prettyprint-override"><code>public class PersonPanel extends Panel implements Observer {
  
      private WebMarkupContainer wrapper;
  
      public PersonPanel(String id) {
          super(id);
  
          setDefaultModel(new CompoundPropertyModel&lt;PersonInfo&gt;(getModel()));
  
          wrapper = new WebMarkupContainer("wrapper");
          wrapper.setOutputMarkupId(true);
          add(wrapper);
  
          wrapper.add(new Label("personID"));
          // some more content
      }
  
      private IModel&lt;PersonInfo&gt; getModel() {
          return new LoadableDetachableModel&lt;PersonInfo&gt;() {
              @Override
              protected PersonInfo load() {
                  // model loading logic
              }
          };
      }
  
      @Override
      public void onEvent(IEvent&lt;?&gt; event) {
          logger.debug("\n   Person Panel received an Event: " + event.getPayload());
  
          // Re-rendering of "wrapper" should be triggered from here.
      }
  
      @Override
      public void update(Observable observable, Object o) {
          send(this, Broadcast.EXACT, "Observable cache has changed.");
      }
  }
  </code></pre>