Hi,

Managed to get this working by using a Panel instead of a
WebMarkupContainer. Here's the code.


import org.apache.wicket.MarkupContainer;
import org.apache.wicket.markup.IMarkupResourceStreamProvider;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.util.resource.AbstractResourceStream;
import org.apache.wicket.util.resource.IResourceStream;
import org.apache.wicket.util.resource.ResourceStreamNotFoundException;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

public class WicketHtmlContainer extends Panel implements
IMarkupResourceStreamProvider {
  public WicketHtmlContainer(String id) {
    super(id);
    Form form = new Form("form");
    form.add(new TextField("myinput"));
    add(form);
  }

  public IResourceStream getMarkupResourceStream(MarkupContainer container,
Class<?> containerClass) {
    System.out.println("calling getMarkupResourceStream()");
    
    return new AbstractResourceStream() {

      public InputStream getInputStream() throws
ResourceStreamNotFoundException {
        return new ByteArrayInputStream(getHtml().getBytes());
      }

      public void close() throws IOException {
      }
    };
  }
  
  private static String getHtml() {
    String html =
        "<wicket:panel><form wicket:id=\"form\">" +
            "my text" +
            "<input wicket:id=\"myinput\" type=\"text\" />" +
            "<input type=\"submit\" value=\"submit\"/>" +
            "</form></wicket:panel>";
    return html;
  }
}

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/dynamic-markup-and-components-tp4366970p4369176.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to