自定义JSP标签属性区分大小写

时间:2019-01-02 13:07:46

标签: jsp tags case-sensitive

我们的团队正在从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

1 个答案:

答案 0 :(得分:0)

Tag attribute区分大小写,因为Java变量

  

标记属性必须通过属性元素在标记元素内声明。 attribute元素具有三个嵌套元素,它们可以出现在和之间。

     

名称。。这是必需的元素,用于定义区分大小写的属性名称。