如何最好地将 JTidy 与 Spring servlet 容器一起使用?

Posted

技术标签:

【中文标题】如何最好地将 JTidy 与 Spring servlet 容器一起使用?【英文标题】:How to best use JTidy with a Spring servlet container? 【发布时间】:2010-12-08 01:35:07 【问题描述】:

我有一个使用 Spring 框架的 Java servlet 容器。页面是从 JSP 生成的,使用 Spring 将所有内容连接起来。发送给用户的结果 html 并不像我想要的那样整洁。我想在将 HTML 发送到客户端浏览器之前将其发送到 Tidy。

我会将其设置为在开发中工作并在生产中关闭;从我的角度来看,它是一个赢家,因为它会让我更容易维护。

关于如何在 Spring 中干净利落地工作的建议?

【问题讨论】:

【参考方案1】:

你为什么要这样做?最好的办法是删除所有空格并尽可能压缩 HTML。用户看到呈现的 HTML,并且大多不关心它的结构和缩进。如果您希望用户查看 HTML,他可以在其机器上的 HTML 上使用 HTML 美化器。

更多信息

JTidy 有一个servlet filter,您可以将其应用于您的 jsps。只需将 jtidy jar 添加到 WEB-INF/lib 并将以下行添加到 web.xml:

<filter>
    <filter-name>JTidyFilter</filter-name>
    <filter-class>org.w3c.tidy.servlet.filter.JTidyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>JTidyFilter</filter-name>
    <servlet-name>DispatcherServlet</servlet-name>
</filter-mapping>
<filter-mapping>
    <filter-name>JTidyFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>

【讨论】:

我可以在开发中打开它,在生产中关闭它;我在途中获得了一些轻松的维护。 编辑原始问题以合并该(重要)位。 您在上面的 XML sn-p 中有一个小错字“servlet-namen”。【参考方案2】:

我自己没用过,但我认为spring根本不应该参与这个过程,这个jtidy servlet extension对你来说应该足够了。

【讨论】:

这可能正是我想要的;没有从 JTidy 主项目中看到任何指向它的链接,并且在搜索中错过了它。 (谢谢!会进一步挖掘。)

以上是关于如何最好地将 JTidy 与 Spring servlet 容器一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

JTidy解决中文乱码问题(亲测可用)

在 MVC 模式的 GUI 应用程序中,可以、应该以及如何最好地将控制器与 GUI 布局隔离?

如何最好地将 DbType 转换为 System.Type?

如何最好地将字符串表示形式转换为 DbType?

如何最好地将 ClientRect / DomRect 转换为普通对象

如何最好地将 CSS3 过渡设置为无?