Struts 内から JS 関数を呼び出そうとしています:
<s:iterator value="%{foo}" status="stat">
<a id="idname" href="#" onClick="javascript:getValue('<s:property value="news"/>'); return false;"><s:property value="newsName" /></a>
</s:iterator>
そうすると、未終了の文字列定数エラーが発生します。ただし、私が持っているエスケープされた値を使用すると:
「ニュース」変数のリテラル値を使用する場合:
<s:iterator value="%{foo}" status="stat">
<a id="idname" href="#" onClick="javascript:getValue('http://www.cnn.com/2013/01/10/travel/flight-movie-united-232/index.html?iref=obnetwork');return false;">
<s:property value="newsName" /></a>
</s:iterator>
そのようなエラーはスローされません。
次の値:
<s:property value="news"/>
は文字列です:
http://www.cnn.com/2013/01/10/travel/flight-movie-united-232/index.html?iref=obnetwork
これをページに出力して確認しました。
いいえ、プロパティ自体をエスケープする必要はありません。これは機能します:
<a id="idname" href="#" onClick="javascript:getValue('http://www.blah.com/<s:property value="otherValue"/>');return false;"><s:property value="userName" /></a>