Google Chrome 版本 91 导致遗留 JSP 和 Struts 丢失数据和格式

Google Chrome version 91 causing legacy JSP with Struts to lose data and formatting

更新以下答案


是否有其他人遇到过 chrome 的最新版本导致遗留 Java 应用程序出现问题?就在昨天,我需要让公司的政策经理通过将我们的 URL 添加到白名单来允许从内部不安全的服务器下载文件——您可以在 chromium 博客 here 上查看该过程的详细信息。 v90 中也存在该问题。

由于 v91 更新,我目前遇到的情况如下:我的老板试图在我们的 Java 6 个遗留应用程序之一中使用一个页面,他注意到该页面不会 return 任何格式的数据 - 我们检查过,他已经是 v91。我使用的是 v90,页面运行良好。将 Chrome 更新到 v91 后,我得到了和我老板一样的损坏页面。

我认为它可能与 CSS 有关,但我没有时间去戳它并每次都重新部署旧版应用程序来测试更改。不过,我已经浏览了版本 91 的 this chromium 博客 post。虽然我没有看到太多与可能导致删除所有 non-label 字段和格式的原因有关的标签字段都不稳定且不合适。

我将调查包含代码 JSP 代码的 struts 磁贴;如果我找到了什么,我会 post 放在这里供参考。

下面的第一张图片是上面的 header 一行的样子。正如您在第二张图片中看到的,所有格式不正确的 header 和网格都消失了。

我确定问题出在 <table> 标签上。在 Chrome 的最新版本 (v91) 中,table 渲染引擎已被重写。注释在这里,如果您想要深入的文档,here 是开发人员编写的 Google 文档的 link。基本上,呈现 tables 的旧方法已经过时,<table> 标签现在已失效。

解决方法:禁用名为 Enable TableNG 的 chrome 标志并重新启动浏览器。

添加:我发现 chromestatus,一个显示正在添加的新功能、弃用等的网站