Home   Single Page

ZKローダーが出力を圧縮しないように設定

デフォルトでは、ブラウザがコンテンツの圧縮[60]に対応できれば、ZKローダーとZKフィルターは出力を圧縮してから出力します。出力の圧縮によって、低速インターネットでの伝送時間は劇的に減少します。

しかし、出力を post-process するフィルターを使用する場合、コンテンツを圧縮は適用できないでしょう。このような場合、以下のように、WEB/web.xmlの中のZKローダーを設定する際に、compressパラメータ(init-param)を false に指定してティスエーブルにできます。

<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ローダーを設定できます。それぞれ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をご参照ください