以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  jsp生成svg的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=22258)


--  作者:shipeng_xie
--  发布时间:9/16/2005 11:17:00 AM

--  jsp生成svg的问题
我想用jsp动态的生成svg图形,出现了一些问题:
我的jsp代码如下:
<%@ page contentType="image/svg+xml;charset=UTF-8" language="java"%>
<?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 height="100" width="100">
 <rect x="20" y="20" height="20" width="20" style="fill:#ff0066;" />
</svg>
在jboss部署后,打开这个jsp页面后什么也没有显示出来查看源码发现页面的源码如下:
<p>&nbsp;</p>

小弟迷茫中,望各位大哥赐教!!


--  作者:犬神狼
--  发布时间:9/16/2005 6:20:00 PM

--  
这个,首先你所说的用JSP动态生成SVG就是指把SVG的代码放在JSP文件里吗?
你要是想在JSP页面上显示SVG图的话最好还是用embed标签,至于SVG图的各个元素属性可以通过脚本来动态地改变。
--  作者:shipeng_xie
--  发布时间:9/20/2005 9:13:00 AM

--  
问题好像处在 IE只能解析 以.svg和.svgz结尾的 svg文件 我将svg代码写在jsp文件中 IE解析不了
我以以下办法解决了该问题
我市发布在jboss中的 因此 我修改了jboss中的配置文件
C:\jboss\server\default\deploy\jbossweb-tomcat55.sar\conf\web.xml
在其中加入了:
<servlet-mapping>
      <servlet-name>jsp</servlet-name>
      <url-pattern>*.svgz</url-pattern>
</servlet-mapping>
让以.svgz的文件以jsp文件被解析 这样既可以显示svg也可以运行其中的jsp代码
--  作者:wujiboy
--  发布时间:9/27/2005 2:22:00 PM

--  
刚刚看到一个文章,看看对你有无帮助?

动态制作svg介绍
===========================================================
作者: junsheng(http://blog.itpub.net/junsheng)
发表于:2005.08.26 08:53
分类:
出处:http://blog.itpub.net/post/860/39133
---------------------------------------------------------------

近日从来邮中,发觉网友对动态制作svg很感兴趣,但却难以入手,现介绍一下(使用jsp)。
首先制作svg:

drawCircle.jsp:
-------------------------------------------------
<?xml version="1.0"?>
<%@ page contentType="text/xml" %>
<svg>
<circle cx="<%=request.getParameter("x")%>" cy="<%=request.getParameter("y")%>" r="<%=request.getParameter("r")%>" />
</svg>
-------------------------------------------------


这是画一个圆,其中圆中心,圆半径由参数定。各位可以测试这个程序,在浏览器地址栏打入:

http://127.0.0.1:8080/testsvg/drawCircle.jsp?x=40&y=40&r=30

应该可以看到:
-----------------------------------------------------
<?xml version="1.0"?>
<svg>
<circle cx="40" cy="40" r="30" />
</svg>
-----------------------------------------------------

如果看到这个结果,测试就成功了。接下来,怎样显示呢?因为目前的浏览器并不直接支持svg,
所以前面即使将"<%@ page contentType="text/xml" %>"换成"<%@ page contentType="text/xml+svg" %>"
或"<%@ page contentType="image/xml+svg" %>之类也是徒劳的。解决之道是激发plug-in作用,所以要
添加一个辅助文件,html或jsp皆可:

test.html:
-------------------------------------------------
<html>
<body>
<embed type="image/svg+xml" src="drawCircle.jsp?x=40&y=40&r=30" width="100" height="100" />
</body>
</html>
-------------------------------------------------
现在,在浏览器地址栏打入:

http://127.0.0.1:8080/testsvg/test.html

就能看到你所需的


--  作者:shipeng_xie
--  发布时间:9/28/2005 1:30:00 PM

--  
谢谢!
--  作者:求索
--  发布时间:1/19/2006 9:56:00 AM

--  
不错支持
--  作者:shiwudao
--  发布时间:9/20/2006 10:43:00 AM

--  为啥XP下还不行
按照那位大哥的加一个HTML文件的方法,在win2000+IE6下确实可以,但是XP+IE6下为啥还是什么都不显示呢? 有没有什么别的解决方案?  tomcat是5.5。 难道只能动态的改svg文件内容。
--  作者:superxlm
--  发布时间:4/25/2007 10:22:00 AM

--  
不错!!受教了~~
--  作者:markbn
--  发布时间:1/4/2008 10:33:00 AM

--  
您好!我现在试过了你的方法,还是不法把图片显示出来,如果可以,请加我的QQ527370525,大家讨论一下.
--  作者:enyaxp
--  发布时间:1/11/2008 7:56:00 PM

--  
我最近也在试,在javascript权威指南一书中看到说在html中直接嵌入svg源码是可以显示图片的,但是实际测试却发现不行。

3楼的方法可行。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
7,960.938ms