次のようなタグが付いた古いJSPファイルがいくつかあります
<mytag:editbox name="SEL_1" param="onclick='clickit();" param="size='4'" />.
これらのJSPは、Websphere5.0で非常にうまく動作します。Websphere 8.0に移動すると、何かがおかしい。次のようにJSPによってコンパイルされたJavaソース:
editbox.setName("SEL_1");
editbox.setParam("size='4'"); //replaced by the last one
editbox.setParam("size='4'");
最後の[属性]は、その前の属性を上書きします。また、Websphere6.0とTomcatでJSPをテストします。WAS6は8.0と同じであり、Tomcatは次のように述べています。
org.apache.jasper.JasperException: /index.jsp (line: 17, column: 20) Attribute qualified names must be unique within an element
タグの属性は複数回設定できません。
これはJSP2.0以降の仕様の要件ですか?(WAS5.0のJSPコンテナはJSP 1.2だと思います。)
2つのparam属性を1つにマージして問題を修正できますが、JSPソースを変更せずに正しい結果を取得するにはどうすればよいですか?