Example usage for com.liferay.portal.kernel.util WebKeys SERVLET_CONTEXT_INCLUDE_FILTER_STRICT

List of usage examples for com.liferay.portal.kernel.util WebKeys SERVLET_CONTEXT_INCLUDE_FILTER_STRICT

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util WebKeys SERVLET_CONTEXT_INCLUDE_FILTER_STRICT.

Prototype

String SERVLET_CONTEXT_INCLUDE_FILTER_STRICT

To view the source code for com.liferay.portal.kernel.util WebKeys SERVLET_CONTEXT_INCLUDE_FILTER_STRICT.

Click Source Link

Usage

From source file:com.liferay.taglib.util.IncludeTag.java

License:Open Source License

protected void include(String page) throws Exception {
    ServletContext servletContext = getServletContext();

    if (_DIRECT_SERVLET_CONTEXT_ENABLED) {
        servletContext = new DirectServletContext(servletContext);
    }/*from   w  w  w .  j ava2 s.  c  o  m*/

    RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher(page);

    HttpServletRequest request = getServletRequest();

    request.setAttribute(WebKeys.SERVLET_CONTEXT_INCLUDE_FILTER_STRICT, _strict);
    request.setAttribute(WebKeys.SERVLET_PATH, page);

    HttpServletResponse response = new PipingServletResponse(pageContext, isTrimNewLines());

    if (!isWARFile(request)) {
        requestDispatcher.include(request, response);
    } else {
        ClassLoader classLoader = PortalClassLoaderUtil.getClassLoader();

        Class<?> clazz = classLoader.loadClass(_LIFERAY_REQUEST_DISPATCHER);

        Constructor<?> constructor = clazz.getConstructor(RequestDispatcher.class, String.class);

        Object obj = constructor.newInstance(requestDispatcher, page);

        Method method = clazz.getMethod("include", ServletRequest.class, ServletResponse.class, boolean.class);

        method.invoke(obj, request, response, true);
    }

    request.removeAttribute(WebKeys.SERVLET_CONTEXT_INCLUDE_FILTER_STRICT);
}