gpt4 book ai didi

jsf-2 - 我如何在 JSF 2 Facelets (XHTML) 中嵌入 SVG?

转载 作者:行者123 更新时间:2023-12-04 03:09:09 24 4
gpt4 key购买 nike

我有一个创建一些 SVG 内容的 JSF 2 应用程序。我怎样才能将它嵌入到输出的 HTML 中?

生成的 SVG 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; stroke:black; text-rendering:auto; stroke-linecap:square; stroke-miterlimit:10; stroke-opacity:1; shape-rendering:auto; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:&apos;Dialog&apos;; font-style:normal; stroke-linejoin:miter; font-size:12; stroke-dashoffset:0; image-rendering:auto;" xmlns="http://www.w3.org/2000/svg">
<!--Generated by the Batik Graphics2D SVG Generator-->
<defs id="genericDefs"/>
<g/>
</svg>

我希望在呈现的 HTML 页面中直接输出此内容。我不想使用 <object>标记,因为我希望能够通过 javascript 在客户端上操作 svg 内容。

结果应该是这样的:

<div id="svgcontent">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 400 50" id="myDIVBG">
<defs>
[...]
</svg>
</div>

上面的内容在我的浏览器中正确显示,我只是无法在不转义 XML 字符串的情况下将 XML 放入 HTML。

最佳答案

我一直做的是使用像 inkscape 这样的工具编辑我的 SVG 文件,并使用 ui:include 标签将它们包含在适当的位置。像这样:

<ui:include src="images/somedrawing.svg" />

包含的文件以 xml 标签开头,后跟 svg 标签和绘图的其余部分。页面上 block 的大小会根据svg标签的viewPort属性绘制。

这仅适用于 HTML 5,因此请确保您的文件以

开头
<!DOCTYPE html>

关于jsf-2 - 我如何在 JSF 2 Facelets (XHTML) 中嵌入 SVG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com