Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Wicket和SVG-是否存在任何组件?_Ajax_Svg_Components_Wicket - Fatal编程技术网

Ajax Wicket和SVG-是否存在任何组件?

Ajax Wicket和SVG-是否存在任何组件?,ajax,svg,components,wicket,Ajax,Svg,Components,Wicket,SVG DOM可以用JavaScript控制,所以它可以支持AJAX。。。我想知道Wicket是否有一些SVG组件。如果Wicket可以使用纯xml/svg作为输出格式 快速谷歌搜索只显示一个。我不知道构建了哪些组件,但Wicket肯定可以将xml/svg作为输出格式,而且制作一个呈现svg的页面非常简单 简单示例代码: public class Rectangle extends Page { @Override public String getMarkupType() {

SVG DOM可以用JavaScript控制,所以它可以支持AJAX。。。我想知道Wicket是否有一些SVG组件。如果Wicket可以使用纯
xml/svg
作为输出格式


快速谷歌搜索只显示一个。

我不知道构建了哪些组件,但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> ";
    }
}
公共类矩形扩展页面{
@凌驾
公共字符串getMarkupType(){
返回“xml/svg”;
}
@凌驾
受保护的void onRender(MarkupStream MarkupStream){
PrintWriter writer=新的PrintWriter(getResponse().getOutputStream());
write(makeRectangleSVG());
writer.flush();
writer.close();
}
私有字符串makeRectangleSVG(){
返回“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
" ";
}
}
如果您将其映射为可书签页面并调用它,它确实会显示一个可爱的蓝色矩形,正如硬编码svg(从W3S示例中偷来的)。当然,您可以轻松地将页面参数化并生成svg,而不只是发送一个常量字符串


我想基于
对象
标记构建一个组件也不难,这样svg就可以显示为html页面的一部分,而不是整个页面,但我还没有尝试过这样做。

我不知道您是否还需要wicket svg库。但我已经在github启动了一个项目,提供wicket组件来使用svg


点击此链接:

感谢您在提出问题+1感谢之前搜索并做了一些研究,但我指的是一些利用Wicket事件处理用户行为的组件。对于“手工生成的”
xml/svg
输出,我宁愿使用简单的servlet。我希望使用Wicket来实现您所追求的,您仍然希望类似于此,但作为一个基于对象标记并在用户事件上重绘的组件。我不认为他们已经在那里了。请在参考链接之前提供摘要。