2017-04-12 154 views
0

欣赏一些帮助将我认为是svg路径元素的内容嵌入到jsp中的if语句中。在坐标之间绘制一条线(使用svg)

我在设置的位置呈现图标,然后如果位置发生变化,我会在新位置重新显示一个图标,这可以正确使用两个变量。

var xx=response[1]; 
var yy=response[2]; 

我想“画”中的线或使用路径元素(SVG)的当前位置和新之间的箭头,但如果我不知道如何实现SVG内的在JSP声明

if((xx != oldxx || yy != oldyy) 
{ 

我相信说法应该是这样的 -

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> 
<path d="L xx yy" fill="transparent" stroke="black"/> 
</svg> 

但不想引用外部网站(w3.org),所以大概需要将某些或全部SVG的JSP中并调用径E在if语句中进行说明。道歉我的编码技能相对较弱。

尝试以下但这会导致原来的图标消失,没有绘制的线条(注释掉行导致语法问题)

var xx=response[1]; 
var yy=response[2]; 

if(xx != oldxx || yy != oldyy) 
{ 
addImg(assetid, xx, yy, ' ', name, icon); 
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg"> 
<%-- 
<path d="M $(oldxx) $(oldyy) L $(xx) $(yy)" fill="transparent" stroke="black"/> 
--%> 
<path d="M oldxx oldyy L xx yy" fill="none" stroke="black" stroke-width="4"/> 
</svg> 
} 

援助表示赞赏。 问候 活动

+0

“xmlns”值不是实际的URL,它看起来像一个URL,但它实际上只是一个字符串常量,表示该XML文件是一个SVG文档。说了这么多,你只需要它用于外部SVG文件(例如''),而不是HTML页面内联的那些文件。 –

+0

谢谢保罗,我主要是试图弄清楚如何在if语句中嵌入svg,可能很简单。 – Active

回答

1

它应该是这样的:

<c:if test="$(xx != oldxx || yy != oldyy)"> 
    <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> 
    <path d="M $(oldxx) $(oldyy) L $(xx) $(yy)" fill="none" stroke="black" 
      stroke-width="4"/> 
    </svg> 
</c:if> 

或者如果它是在一个代码块的中间,你可能更愿意做的事:

if (xx != oldxx || yy != oldyy) 
{ %> 
    <svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"> 
    <path d="M $(oldxx) $(oldyy) L $(xx) $(yy)" fill="none" stroke="black" 
      stroke-width="4"/> 
    </svg> 
<%) 

你还必须考虑如何将其放置在页面的正确位置。您尚未指定如何绘制页面的其他部分(图标等),因此我无法帮助完成此部分。

+0

谢谢,我会试试。 – Active

+0

您可能还需要为坐标变量添加一些''元素。 –

+0

原始图标的结果消失并且没有画出的线条。令牌上的语法错误,与最后/>相关的错位结构奇怪 – Active