是否有可能配置JSF 2.0以删除XHTML标签之间不必要的空格?
<pre>
和 <textarea>
标签、CSS white-space:pre
属性和JS element.style.whiteSpace='pre'
代码,空格具有重要意义。/conf/server.xml
中的<Connector>
元素中添加compression="on"
即可。Filter
来替换响应编写器以修剪空格。你可以在这里找到这样一个过滤器的示例。但它并没有考虑CSS / JS。<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
version="2.1">
<faces-config-extension>
<facelets-processing>
<file-extension>.xhtml</file-extension>
<process-as>xhtml</process-as>
<oam-compress-spaces>true</oam-compress-spaces>
</facelets-processing>
</faces-config-extension>
</faces-config>
我正在尝试寻找一种简单的解决方案,以压缩HTML并删除在primefaces>jsf>jsp>servlet解析后创建的空格。
我了解到primefaces可以帮助我压缩js和css,但是由于jsf转换为jsp发生在primefaces解析之后,因此他们无法处理HTML。
JSP规范曾经有一个指令
<%@ page trimDirectiveWhitespaces="true" %>
为了做我需要的事情。
此外,如果需要,我们可以在web.xml中处理它。
我知道正确的方法是配置Web服务器来处理它。
然而,jBoss 7.1.1对JSP配置失去了灵敏度。(问题始于7.0,当时我们不得不在每次JSP更改后重新启动服务器。问题得到解决,但在7.1中又出现了。应该在7.2中得到解决,但7.2还没有发布。)
无论如何,jBoss是一个很好的工具。
我的问题是,从JSP转换到JSF会丢失功能吗。
应该有一种标记告诉JSF将trimDirectiveWhitespaces放入它正在尝试解析自身的JSP中。
我不喜欢“过滤器”解决方案,因为它会每次流式输出时都修剪输出内容。我宁愿将其编译到JSP>Sevlet中,而不是每次在输出时都这样做。此外,它是定制的(不是标准的,未经文件化等)。
仍然想知道在JSF中轻松“修剪空格”,“压缩HTML”的方法...
<pre>
和<textarea>
,CSS的white-space
以及JS的element.style.whiteSpace
? - BalusC