我们的团队正在从Web Logic 12迁移到Tomcat 9;我们注意到我们的自定义JSP标签在属性方面存在问题。属性的大小写不正确(例如,“ myattribute”与“ myAttribute”)。这会导致Tomcat 9中的JSP编译错误,但不会导致Web Logic 12中的错误。我无法共享确切的代码,但是以下内容与我们遇到的内容相同。
Tomcat中是否有一个设置允许JSP引擎允许自定义标签属性不区分大小写?
标记库
<tag>
<name>myTag</name>
<tagclass>com.foo.MyTag</tagclass>
<bodycontent>JSP</bodycontent>
<info> This Tag defines a form.</info>
<attribute>
<name>myVar</name>
<required>false</required>
</attribute>
</tag>
课程
public class MyTag {
private String myVar = "";
public void setMyVar(String myVar) {
this.myVar = myVar;
}
public String getMyVar()
{
return this.myVar;
}
}
JSP
<customTag:myTag myvar="bar"/>
错误消息(或类似错误消息)
org.apache.jasper.JasperException: /jsp/mypage.jsp
(line: [###], column: [0])
Attribute [myvar] invalid for tag [myTag] according to TLD
答案 0 :(得分:0)
Tag attribute区分大小写,因为Java变量
标记属性必须通过属性元素在标记元素内声明。 attribute元素具有三个嵌套元素,它们可以出现在和之间。
名称。。这是必需的元素,用于定义区分大小写的属性名称。