Package org.zkoss.web.fn

## Class ServletFns

- java.lang.Object
- - org.zkoss.web.fn.ServletFns

-     public class ServletFns
      extends java.lang.Object

  Providing servlet relevant functions for EL.
  Author:
    tomyeh

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ServletFns()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.String` | `encodeThemeURL​(java.lang.String s)` | Encodes a URL with theme key injected.
    `static java.lang.String` | `encodeURL​(java.lang.String uri)` | Encodes a URL.
    `static RequestContext` | `getCurrentContext()` | Returns the current EL context.
    `static java.io.Writer` | `getCurrentOut()` | Returns the current output.
    `static javax.servlet.ServletRequest` | `getCurrentRequest()` | Returns the current servlet request, or null if not available.
    `static javax.servlet.ServletResponse` | `getCurrentResponse()` | Returns the current servlet response, or null if not available.
    `static javax.servlet.ServletContext` | `getCurrentServletContext()` | Returns the current servlet context, or null if not available.
    `static void` | `render​(ActionContext ac)` | Renders the DSP fragment from EL.
    `static java.lang.String` | `resolveThemeURL​(java.lang.String url)` | Resolves a URL to point to resource served by the current theme.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ServletFns

          protected ServletFns()

  - ### Method Detail

    - #### encodeURL

          public static java.lang.String encodeURL​(java.lang.String uri)
                                            throws javax.servlet.ServletException

      Encodes a URL.

      If an URI contains "*", it will be replaced with a proper Locale. For example, if the current Locale is zh_TW and the resource is named "ab*.cd", then it searches "ab_zh_TW.cd", "ab_zh.cd" and then "ab.cd", until any of them is found.

      > Note: "*" must be right before ".", or the last character. For example, "ab*.cd" and "ab*" are both correct, while "ab*cd" and "ab*\/cd" are ignored.

      If an URI contains two "*", the first "*" will be replaced with a browser code and the second with a proper locale. The browser code depends on what browser the user are used to visit the web site. Currently, the code for Internet Explorer is "ie", Safari is "saf", Opera is "opr" and all others are "moz". Thus, in the above example, if the resource is named "ab**.cd" and Firefox is used, then it searches "abmoz_zh_TW.cd", "abmoz_zh.cd" and then "abmoz.cd", until any of them is found.

      Throws:
        `javax.servlet.ServletException`

    - #### encodeThemeURL

          public static final java.lang.String encodeThemeURL​(java.lang.String s)
                                                       throws javax.servlet.ServletException

      Encodes a URL with theme key injected.
      Parameters:
        `s` - the string to encode
      Returns:
        the encoded string or null if s is null
      Throws:
        `java.io.UnsupportedEncodingException`
        `javax.servlet.ServletException`
      Since:
        6.0.0

    - #### resolveThemeURL

          public static final java.lang.String resolveThemeURL​(java.lang.String url)

      Resolves a URL to point to resource served by the current theme.
      Parameters:
        `url` - the default theme url to resolve
      Returns:
        the resolved url or null if url is null
      Since:
        6.5.2

    - #### getCurrentContext

          public static RequestContext getCurrentContext()

      Returns the current EL context.

    - #### getCurrentOut

          public static java.io.Writer getCurrentOut()
                                              throws java.io.IOException

      Returns the current output.
      Throws:
        `java.io.IOException`

    - #### getCurrentServletContext

          public static javax.servlet.ServletContext getCurrentServletContext()

      Returns the current servlet context, or null if not available.

    - #### getCurrentRequest

          public static javax.servlet.ServletRequest getCurrentRequest()

      Returns the current servlet request, or null if not available.

    - #### getCurrentResponse

          public static javax.servlet.ServletResponse getCurrentResponse()

      Returns the current servlet response, or null if not available.

    - #### render

          public static void render​(ActionContext ac)
                             throws DspException,
                                    java.io.IOException

      Renders the DSP fragment from EL.
      Parameters:
        `ac` - the action context; never null.
      Throws:
        `DspException`
        `java.io.IOException`