我有一些带有标签的旧 JSP 文件,例如
<mytag:editbox name="SEL_1" param="onclick='clickit();" param="size='4'" />.
这些 JSP 在 Websphere 5.0 中运行得非常好。当我将它移入 Websphere 8.0 时,出现了问题。JSP编译的java源码是这样的:
editbox.setName("SEL_1");
editbox.setParam("size='4'"); //replaced by the last one
editbox.setParam("size='4'");
最后一个 [attributes] 覆盖它之前的那些。我还在 Websphere 6.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
tag 的属性不能设置多次。
这是 JSP 2.0+ 规范的要求吗?(我认为 WAS5.0 中的 JSP 容器是 JSP 1.2 。)
我可以将两个 param 属性合并为一个来纠正问题,但是如何在不更改 JSP 源的情况下获得正确的结果呢?