如何在Wicket中从Java文件中动态添加HTML代码?

时间:2012-11-03 05:17:05

标签: java html dynamic wicket add

我正在研究如何从Wicket中的Java文件动态添加HTML代码。我有多个
我的网页上的链接,但不想为每个链接设计单独的页面。我只想要 从Java文件中动态添加我现有的HTML代码。

为此,我使用了以下代码。

public class DynamicHtml extends Panel{

public DynamicHtml(String id) 
{
    super(id);
    // TODO Auto-generated constructor stub

    String dynamicHtml = createDynamicHtml("divIdName");
    Label divLabel = new Label("divLabel",dynamicHtml );
    divLabel.setEscapeModelStrings(false);
    add(divLabel);
}

private String createDynamicHtml(String div_id) 
{
    // TODO Auto-generated method stub

    StringBuilder divSB = new StringBuilder(512);
    divSB.append("<div id=\"");
    divSB.append(div_id);
    divSB.append("\"></div>");

    return divSB.toString(); 
}

}

Html代码:

<wicket:panel>
    <span wicket:id="divLabel"></span>
</wicket:panel>  

但是我无法理解如何在上面的代码中传递退出的html代码,即“divIdName”。
请给我一些建议或任何指导或参考 提前致谢。

1 个答案:

答案 0 :(得分:2)

不确定哪个部分无法正常工作,但通常应使用

<wicket:panel>
    <wicket:container wicket:id="divLabel" />
</wicket:panel>

因此,您的代码将生成有效的XHTML。

除此之外,如果要动态替换标记,则应覆盖Panel的getMarkup()方法。见JavaDoc