当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有一些带有标签的旧JSP文件 mytag:editbox name =“SEL_1”param =“onclick ='clickit();” param =“size ='4'”/. 这些JSP在Websphere 5.0中运行良好.当我将它移动到Websphere 8.0时,出了点问题. JSP编译的
我有一些带有标签的旧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'");

最后的[属性]会覆盖它之前的那些.我还在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

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

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

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

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

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

网友评论