Class JspFns


  • public class JspFns
    extends java.lang.Object
    Utilities to generate ZK related information in JSP pages.

    For DSP pages, use DspFns instead.
    For ZUML pages, use ZkFns instead.

    Since:
    3.5.2
    Author:
    tomyeh
    • Constructor Summary

      Constructors 
      Constructor Description
      JspFns()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String outDeviceCSSContent​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String deviceType)
      Generates and returns the complete CSS content of all components in the specified device.
      static java.lang.String outDeviceJavaScripts​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String deviceType)
      Returns HTML tags to include JavaScript files of the specified device for the current application (never null).
      static java.lang.String outDeviceStyleSheets​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String deviceType)
      Returns HTML tags to include style sheets of the specified device for the current application (never null).
      static java.lang.String outZkHtmlTags​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String deviceType)
      Generates and returns the ZK specific HTML tags such as stylesheet and JavaScript.
      static void setCacheControl​(javax.servlet.http.HttpServletResponse response, java.lang.String prop, int hours)
      Sets the Cache-Control, Expires, and Last-Modified headers for the response.
      static boolean setCacheControl​(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String prop, int hours)
      Sets the Cache-Control, Expires, and Etag headers for the response.
      static void setCSSCacheControl​(javax.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Last-Modified headers for the CSS files of class Web resources.
      static boolean setCSSCacheControl​(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Etag headers for the CSS files of class Web resources.
      static void setCWRCacheControl​(javax.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Last-Modified headers for class Web resources.
      static boolean setCWRCacheControl​(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Etag headers for class Web resources.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JspFns

        public JspFns()
    • Method Detail

      • outZkHtmlTags

        public static java.lang.String outZkHtmlTags​(javax.servlet.ServletContext ctx,
                                                     javax.servlet.http.HttpServletRequest request,
                                                     javax.servlet.http.HttpServletResponse response,
                                                     java.lang.String deviceType)
        Generates and returns the ZK specific HTML tags such as stylesheet and JavaScript. If you want to generate HTML HEAD and BODY tags by yourself in a non-ZUML page (e.g., JSP or DSP), you can invoke this method at the location you want (such as inside the HTML HEAD tag).
        Parameters:
        deviceType - the device type. If null, ajax is assumed.
        Returns:
        the string holding the HTML tags, or null if already generated.
      • outDeviceStyleSheets

        public static final java.lang.String outDeviceStyleSheets​(javax.servlet.ServletContext ctx,
                                                                  javax.servlet.http.HttpServletRequest request,
                                                                  javax.servlet.http.HttpServletResponse response,
                                                                  java.lang.String deviceType)
        Returns HTML tags to include style sheets of the specified device for the current application (never null).

        This method is used for JSP pages.

        Parameters:
        deviceType - the device type. If null, ajax is assumed.
      • outDeviceJavaScripts

        public static final java.lang.String outDeviceJavaScripts​(javax.servlet.ServletContext ctx,
                                                                  javax.servlet.http.HttpServletRequest request,
                                                                  javax.servlet.http.HttpServletResponse response,
                                                                  java.lang.String deviceType)
        Returns HTML tags to include JavaScript files of the specified device for the current application (never null).
        Since:
        5.0.0
      • setCacheControl

        public static void setCacheControl​(javax.servlet.http.HttpServletResponse response,
                                           java.lang.String prop,
                                           int hours)
        Sets the Cache-Control, Expires, and Last-Modified headers for the response.

        Last-Modified is a "weak" caching header in that the browser applies a heuristic to determine whether to fetch the item from cache or not. Use setCacheControl(ServletContext, HttpServletRequest, HttpServletResponse, String, int) instead.

        Parameters:
        response - the servlet response (never null)
        prop - the name of the property to check if the headers shall be generated. If null, it is always generated. If "false" is specified with this property, this method won't generate anything. In other words, "false" means to disable the cache. If It is used for debugging/developing purpose.
        hours - the number of hours the client is allowed to cache the resource
        Since:
        3.6.3
        See Also:
        setCacheControl(ServletContext, HttpServletRequest, HttpServletResponse, String, int)
      • setCacheControl

        public static boolean setCacheControl​(javax.servlet.ServletContext context,
                                              javax.servlet.http.HttpServletRequest request,
                                              javax.servlet.http.HttpServletResponse response,
                                              java.lang.String prop,
                                              int hours)
        Sets the Cache-Control, Expires, and Etag headers for the response.
        Parameters:
        context - the servlet context (never null)
        request - the servlet request (never null)
        response - the servlet response (never null)
        prop - the name of the propery to check if the headers shall be generated. If null, it is always generated. If "false" is specified with this property, this method won't generate anything. In other words, "false" means to disable the cache. If It is used for debugging/developing purpose.
        hours - the number of hours the client is allowed to cache the resource
        Returns:
        whether HttpServletResponse.SC_NOT_MODIFIED is set.
        Since:
        5.0.1
      • setCSSCacheControl

        public static boolean setCSSCacheControl​(javax.servlet.ServletContext context,
                                                 javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.http.HttpServletResponse response)
        Sets the Cache-Control, Expires, and Etag headers for the CSS files of class Web resources.

        It first check if org.zkoss.web.classWebResource.cache is turned off, and then check how many hours specified in org.zkoss.web.classWebResource.cache.CSS.hours. If it is turned off or the value of hours is non-positive, nothing is generated Otherwise, it generates the header with the specified hours (default: 8760).

        Returns:
        whether HttpServletResponse.SC_NOT_MODIFIED is set.
        Since:
        5.0.1
        See Also:
        setCWRCacheControl(ServletContext, HttpServletRequest, HttpServletResponse)
      • setCWRCacheControl

        public static boolean setCWRCacheControl​(javax.servlet.ServletContext context,
                                                 javax.servlet.http.HttpServletRequest request,
                                                 javax.servlet.http.HttpServletResponse response)
        Sets the Cache-Control, Expires, and Etag headers for class Web resources. It checks if org.zkoss.web.classWebResource.cache is turned off. If not, it generates the headers.

        Notice that, for the CSS files, please use setCSSCacheControl(javax.servlet.http.HttpServletResponse) instead.

        Returns:
        whether HttpServletResponse.SC_NOT_MODIFIED is set.
        Since:
        5.0.1