Juh*_*älä 0 html rendering wicket
我有一个附加到Page的Wicket面板.我需要获取面板生成的呈现的HTML代码.我需要面板生成的相同HTML以输出发送到浏览器的内容.我不是整个页面的HTML.
我的面板是只读的,因此重新生成输出无关紧要.
private MyPanel myPanel;
public void onIntialize() {
super.onInitialize();
add(myPanel = new MyPanel());
}
new AjaxLink() {
public void onClick(AjaxRequestTarget target) {
String myPanelHtml = // obtain html somehow from myPanel
// do stuff with myPanelHtml
}
}
Run Code Online (Sandbox Code Playgroud)
如果我需要从不是面板的组件渲染HTML,情况会有所不同吗?不提供标记的组件.
从Wicket 6.7.0开始,它可以很容易地完成
ComponentRenderer.render(Component c)
从wicket页面:
将页面或组件呈现为String
支持用户列表的一个问题是能够将页面或组件呈现给String,以便您可以使用Wicket呈现HTML电子邮件.现在,您可以使用ComponentRenderer实际执行此操作,而无需使用其他不太明显的方法.
ComponentRenderer公开了两个方法:renderComponent和renderPage,它们完全按照它们的名字建议.快乐邮件!
虽然用于邮寄,但您当然也可以将其用于其他目的