SVG DOM可以用JavaScript控制,所以它可以启用AJAX ......我想知道Wicket是否还有一些SVG组件。如果Wicket可以使用纯xml/svg
作为输出格式。
快速Google搜索仅显示question at Code Ranch。
答案 0 :(得分:6)
我不知道你是否需要一个wicket-svg库。但我已经在github上启动了一个项目来提供与svg一起使用的wicket组件。
请点击此链接:wicket-svg
答案 1 :(得分:1)
我不知道构建的组件,但Wicket肯定可以使用xml/svg
作为输出格式,并且制作一个呈现svg的页面非常简单。
愚蠢的简单示例代码:
public class Rectangle extends Page {
@Override
public String getMarkupType() {
return "xml/svg";
}
@Override
protected void onRender(MarkupStream markupStream) {
PrintWriter writer = new PrintWriter(getResponse().getOutputStream());
writer.write(makeRectangleSVG());
writer.flush();
writer.close();
}
private String makeRectangleSVG() {
return "<?xml version=\"1.0\" standalone=\"no\"?>\n" +
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n" +
"\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n" +
"\n" +
"<svg width=\"100%\" height=\"100%\" version=\"1.1\"\n" +
"xmlns=\"http://www.w3.org/2000/svg\">\n" +
"\n" +
"<rect width=\"300\" height=\"100\"\n" +
"style=\"fill:rgb(0,0,255);stroke-width:1;\n" +
"stroke:rgb(0,0,0)\"/>\n" +
"\n" +
"</svg> ";
}
}
如果您将其映射为可收藏的页面并将其调出,它会显示一个可爱的蓝色矩形,根据硬编码的svg(从w3schools示例中窃取)。当然,您可以轻松地对页面进行参数化并生成svg,而不仅仅是发送一个常量字符串......
我怀疑基于object
标签构建组件也不难,因此svg可以显示为html页面的一部分而不是像这样的整个页面,但我没有'但还是试图这样做。