Je ne connais pas de composants construits, mais Wicket peut certainement avoir xml/svg
comme format de sortie, et il est assez simple de faire une page qui rend svg.
code exemple simple Dumb:
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> ";
}
}
Si vous associez cela comme une page bookmarkable et l'appeler, il n'affiche un joli rectangle bleu, selon le svg codé en dur (volé un exemple W3Schools). Et bien sûr, vous pouvez facilement paramétrer la page et générer le svg au lieu de simplement envoyer une chaîne constante ...
Je suppose qu'il ne serait pas difficile de construire un composant basé sur l'étiquette object
afin que svg puisse être montré dans le cadre d'une page html plutôt que d'être toute la page comme ça, mais je n'ai pas encore essayé de le faire.
Merci pour dire que vous googlé et fait quelques recherches avant de poser la question +1 –