[Seasar-user:12137] &置き換えの不具合
Tsutomu Uchima
[E-MAIL ADDRESS DELETED]
2007年 12月 17日 (月) 16:15:53 JST
うちまです。お世話になります。
forEach処理内でaタグのhref属性に複数のパラメーターを含めるケースですがパラ
メーター結合子を&と表記した際に不具合が発生するようです。再現ソースは下
記の通りです。
実行環境:jre1.5.0_12、apache-tomcat-5.5.23
プロジェクト:Dolteng 0.24.0にてteedaonlyプロジェクトを作成。xercesImpl-2.6.
2.jarが使用されています。
=== ソースここから ===
■foreach.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Foreach</title>
</head>
<body>
<h1>& amp; Malfunction</h1>
<p>Foreach sample with array.</p>
<table border="1">
<tbody id="aaaItems">
<tr>
<td>
<a id="goForeach" href="foreach.html?foo=foo&bar=bar">
link<span id="aaaIndex"/>
</a>
</td>
</tr>
</tbody>
</table>
<p>
foo=<span id="foo"/><br/>
bar=<span id="bar"/>
</p>
<p>
<a href="./foreach.html">foreach.html</a>
</p>
</body>
</html>
■ForeachPage.java
package example.web.foreach;
public class ForeachPage {
public String foo;
public String bar;
public FooItem[] aaaItems;
public int aaaIndex;
public Class prerender() {
aaaItems = new FooItem[3];
aaaItems[0] = createItem("a1", "b1");
aaaItems[1] = createItem("a2", "b2");
aaaItems[2] = createItem("a3", "b3");
return null;
}
private FooItem createItem(String foo, String bar) {
final FooItem item = new FooItem();
item.foo = foo;
item.bar = bar;
return item;
}
public static class FooItem {
public String foo;
public String bar;
}
}
=== ソースここまで ===
実行するとaタグで生成されるリンクは
http://localhost:8080/teeda-eclipse-blank/view/foreach/foreach.html?amp;bar=
bar&foo=a1
の様になり&が意図するような&になりません。その影響でbarの値もhtml直書き
のダミーが値となっているようです。&ではなく&だと意図したリンク文字列が出
来ました。
teedaコミッター様の方でもご確認して頂けたらと思います。
以上です。
Seasar-user メーリングリストの案内