我正在研究如何从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”。
请给我一些建议或任何指导或参考
提前致谢。
答案 0 :(得分:2)
不确定哪个部分无法正常工作,但通常应使用
<wicket:panel>
<wicket:container wicket:id="divLabel" />
</wicket:panel>
因此,您的代码将生成有效的XHTML。
除此之外,如果要动态替换标记,则应覆盖Panel的getMarkup()
方法。见JavaDoc