2017-04-12 13 views
0

jspのif文にsvgのパス要素を埋め込んでいると助かります。座標間に線を描く(svgを使用)

私は設定された場所にアイコンを表示し、場所が変わったら新しい場所にアイコンを表示し直します。これは2つの変数を使って正しく動作します。

私はラインを「引く」またはパス要素(SVG)を使用して、現在の場所と新しいの間の矢印したいが、JSP

if((xx != oldxx || yy != oldyy) 
{ 
におけるif文の内側にSVGを実装する方法を確認していない
var xx=response[1]; 
var yy=response[2]; 

私は声明のようなものであるべきと考えている - ので、おそらくJSP内のSVGの一部または全部を埋め込む必要があるとパスeを呼び出す

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

が、外部のウェブサイト(w3.org)を参照する必要はありません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> 
<%) 

あなた'LLページの適切な場所に配置する方法も考慮する必要があります。残りのページ(アイコンなど)をどのように描いているかを指定していないので、その部分を手伝うことはできません。

+0

ありがとう、私はそれを試みます。 – Active

+0

座標変数に ''要素を追加する必要があるかもしれません。 –

+0

元のアイコンが消え、線が引かれません。トークンの構文エラー、最後に関連する構文の誤り/奇妙なもの – Active

関連する問題