[mayaa-user:496] テンプレートのHTMLエスケープが復元されない

山田 雄己 [E-MAIL ADDRESS DELETED]
2007年 3月 17日 (土) 23:19:15 JST


お世話になっております、山田です。


属性自動セットや <echo /> によってテンプレート側の属性を参照するときに、
テンプレートの HTML エスケープが復元されないようで、それをカスタムタグに
渡したりすると二重にエスケープされてしまいます。


-- html --

<html>
	<body>
		<span id="text" value="1 &lt; 2"></span>
	</body>
</html>

-- mayaa --

<m:mayaa xmlns:m="http://mayaa.seasar.org">

	<m:echo id="text">
		<m:write value="${value}" />
	</m:echo>
	
</m:mayaa>

-- 期待する結果 --

<html>
	<body>
		<span id="text" value="1 &lt; 2">1 &lt; 2</span>
	</body>
</html>


-- 実際の結果 --

<html>
	<body>
		<span id="text" value="1 &lt; 2">1 &amp;lt; 2</span>
	</body>
</html>


上の例は <echo /> ですが、カスタムタグへの自動属性セットでも同様で、
Struts2 を使用していて

<input type="text" value="1 &lt; 2" />

が

<input type="text" value="1 &amp;lt; 2" />

になってしまいました。



mayaa-user メーリングリストの案内