【发布时间】:2019-01-02 13:07:46
【问题描述】:
我们的团队正在从 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
【问题讨论】:
标签: jsp tags case-sensitive