JSP标记属性不能多次设置?

cul*_*uly 6 jsp jsp-tags

我有一些带有标签的旧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'");
Run Code Online (Sandbox Code Playgroud)

最后的[属性]会覆盖它之前的那些.我还在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
Run Code Online (Sandbox Code Playgroud)

标签的属性不能设置多次.

这是JSP 2.0+规范的要求吗?(我认为WAS5.0中的JSP容器是JSP 1.2.)

我可以将两个param属性合并为一个来纠正问题,但如何在不更改JSP源的情况下获得正确的结果?

ska*_*man 6

JSP规范从不支持具有相同名称的多个属性.如果它在Websphere 5上运行,那么这将取决于该服务器版本允许的专有行为,而不是任何其他行为.我认为标签类做的事情就像将值添加到集合或其他类似的东西.

您需要通过使用分隔字符串或使用嵌套标记来重构标记以符合规范.