其它

配置ZK加载器不压缩输出

默认情况下,若浏览器支持内容压缩[60](且输出不被servlets其它所包含),ZK加载器和过滤器(filter)的输出是被压缩的。通过压缩输出,在慢速网络上的传输时间被大幅降低。

但是,若你想使用过滤器来后处理(post-process)输出,压缩未必适用。在这种情况下,你可以将compress参数(init-param)指定为true以禁用压缩,WEB-INF/web.xml文件中的ZK加载器配置如下。

<servlet>
   <servlet-name>zkLoader</servlet-name>
   <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
   <init-param>
      <param-name>update-uri</param-name>
      <param-value>/zkau</param-value>
   </init-param>
   <init-param>
      <param-name>compress</param-name>
      <param-value>false</param-value>
   </init-param>
</servlet>

注意:你可以在一个应用程序中配置多个ZK加载器。每个拥有不同的选项。

<servlet>
   <servlet-name>zkLoader1</servlet-name>
   <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>...
</servlet>
<servlet>
   <servlet-name>zkLoader2</servlet-name>
   <servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>...
</servlet>

类似的,你也可以配置ZK过滤器(org.zkoss.zk.ui.http.DHtmlLayoutFilter)来禁止压缩。

<filter>
   <filter-name>zkFilter</filter-name>
   <filter-class>org.zkoss.zk.ui.http.DHtmlLayoutFilter</filter-class>
   <init-param>
      <param-name>extension</param-name>
      <param-value>html</param-value>   </init-param>
   <init-param>
      <param-name>compress</param-name>
      <param-value>false</param-value>
   </init-param>
</filter>



[60] 参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html中的14.3,Accept-Encoding。