【问题标题】:Custom JSP Tag Attribute Case Insensitivity自定义 JSP 标记属性不区分大小写
【发布时间】: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


    【解决方案1】:

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

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

    name.这是定义区分大小写的属性名称的必需元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 2016-05-12
      相关资源
      最近更新 更多