Class JspFns

java.lang.Object
org.zkoss.zk.fn.JspFns

public class JspFns extends 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    outDeviceCSSContent(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String deviceType)
    Generates and returns the complete CSS content of all components in the specified device.
    static final String
    outDeviceJavaScripts(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String deviceType)
    Returns HTML tags to include JavaScript files of the specified device for the current application (never null).
    static final String
    outDeviceStyleSheets(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String deviceType)
    Returns HTML tags to include style sheets of the specified device for the current application (never null).
    static String
    outZkHtmlTags(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String deviceType)
    Generates and returns the ZK specific HTML tags such as stylesheet and JavaScript.
    static void
    setCacheControl(jakarta.servlet.http.HttpServletResponse response, String prop, int hours)
    Sets the Cache-Control, Expires, and Last-Modified headers for the response.
    static boolean
    setCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String prop, int hours)
    Sets the Cache-Control, Expires, and Etag headers for the response.
    static void
    setCSSCacheControl(jakarta.servlet.http.HttpServletResponse response)
    Sets the Cache-Control, Expires, and Last-Modified headers for the CSS files of class Web resources.
    static boolean
    setCSSCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    Sets the Cache-Control, Expires, and Etag headers for the CSS files of class Web resources.
    static void
    setCWRCacheControl(jakarta.servlet.http.HttpServletResponse response)
    Sets the Cache-Control, Expires, and Last-Modified headers for class Web resources.
    static boolean
    setCWRCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.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 Details

    • JspFns

      public JspFns()
  • Method Details

    • outZkHtmlTags

      public static String outZkHtmlTags(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, 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.
    • outDeviceCSSContent

      public static String outDeviceCSSContent(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, String deviceType)
      Generates and returns the complete CSS content of all components in the specified device.

      Notice that it generates the content, while outDeviceStyleSheets(jakarta.servlet.ServletContext, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.String) generates the HTML tag that will include the content.

      Since:
      5.0.0
    • outDeviceStyleSheets

      public static final String outDeviceStyleSheets(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, 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 String outDeviceJavaScripts(jakarta.servlet.ServletContext ctx, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, 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(jakarta.servlet.http.HttpServletResponse response, 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

      public static boolean setCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, 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 void setCSSCacheControl(jakarta.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Last-Modified headers for the CSS files of class Web resources.

      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 setCSSCacheControl(ServletContext, HttpServletRequest, HttpServletResponse) instead.

      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).

      Since:
      3.6.3
      See Also:
    • setCSSCacheControl

      public static boolean setCSSCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.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

      public static void setCWRCacheControl(jakarta.servlet.http.HttpServletResponse response)
      Sets the Cache-Control, Expires, and Last-Modified headers for class Web resources.

      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 setCWRCacheControl(ServletContext, HttpServletRequest, HttpServletResponse) instead. 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(jakarta.servlet.http.HttpServletResponse) instead.

      Since:
      3.6.3
    • setCWRCacheControl

      public static boolean setCWRCacheControl(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.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(jakarta.servlet.http.HttpServletResponse) instead.

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