2017-04-12 158 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