【问题标题】:Find JSPs with incorrect syntax查找语法错误的 JSP
【发布时间】:2017-05-29 08:03:23
【问题描述】:

我的旧应用程序在 Java 1.7 (tomcat 6) 中运行良好。升级到 java 1.8 和 Tomcat 9 后,由于 JSP 的编码方式,我们在应用程序中看到很多运行时错误

e.g., onkeypress attribute is added twice to the textfield, 
nospace between two attributes (onchange="limitText(this,500);"tabindex="6"), etc.

你们是否知道任何可以识别此类 JSP 的工具,以便我们可以解决这些问题。如果没有,您对我该怎么做有什么建议吗?我不想手动搜索这些问题,因为有成千上万的 JSP。

【问题讨论】:

  • 这是从什么日志/控制台出来的?
  • @nitind 控制台输出为“Jspname.jsp (line: 111, column: 204) JSP 规范要求属性名称前有空格”

标签: java eclipse jsp jsp-tags


【解决方案1】:

这可以帮助您格式化 JSP 页面中的基本问题。

从 Eclipse 窗口菜单中,选择首选项

从首选项窗口中选择 Web => HTML 文件 => 编辑器

Inline Elements: 视图中,添加您希望在一行中显示的所有标签

现在,每当您按 CTRL+SHIFT+F 时,JSP 都会被格式化为您的新样式

【讨论】:

    【解决方案2】:

    你有两个选择:

    选项 1:通过 Notepad++ 或 Textpad 等文本编辑软件对所有 JSP 执行基于正则表达式的 find and replace 操作。例如。您可以搜索 [a-zA-Z]\"[a-zA-Z] 的模式,然后检查结果。如果结果正确,请执行查找和替换。

    选项 2:抑制 Tomcat 中的 JSP 解析器错误。我认为这是Tomcat特定的错误。看到这个Tomcat 9 docs

    在位于的catalina.properties 文件中添加以下行 "APACHE_TOMCAT_HOME\conf":

    org.apache.jasper.compiler.Parser.STRICT_WHITESPACE=false

    重启应用服务器。

    ====

    我认为您应该选择选项 2,因为它没有真正的危害,而且它还节省了大量开发人员的时间。

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 2013-08-09
      相关资源
      最近更新 更多