2

我正在研究如何从 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”。
请给我一些建议或任何指导或参考。
提前致谢。

4

1 回答 1

2

不确定,哪个部分没有按您的意愿工作,但通常您应该使用

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

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

除此之外,如果您想动态替换标记,您应该覆盖getMarkup()Panel 的方法。请参阅JavaDoc

于 2012-11-05T09:38:53.320 回答