Example usage for com.liferay.portal.kernel.template TemplateConstants SERVLET_SEPARATOR

List of usage examples for com.liferay.portal.kernel.template TemplateConstants SERVLET_SEPARATOR

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.template TemplateConstants SERVLET_SEPARATOR.

Prototype

String SERVLET_SEPARATOR

To view the source code for com.liferay.portal.kernel.template TemplateConstants SERVLET_SEPARATOR.

Click Source Link

Usage

From source file:com.liferay.content.targeting.portlet.FreeMarkerPortlet.java

License:Open Source License

@Override
protected void include(String path, PortletRequest portletRequest, PortletResponse portletResponse,
        String lifecycle) throws IOException, PortletException {

    PortletContext portletContext = getPortletContext();

    String servletContextName = portletContext.getPortletContextName();

    String resourcePath = servletContextName.concat(TemplateConstants.SERVLET_SEPARATOR).concat(path);

    boolean resourceExists = false;

    try {/*from   ww w.ja v  a 2  s .  c  o  m*/
        resourceExists = TemplateResourceLoaderUtil.hasTemplateResource(TemplateConstants.LANG_TYPE_FTL,
                resourcePath);
    } catch (TemplateException te) {
        throw new IOException(te.getMessage());
    }

    if (!resourceExists) {
        _log.error(path + " is not a valid include");
    } else {
        try {
            TemplateResource templateResource = TemplateResourceLoaderUtil
                    .getTemplateResource(TemplateConstants.LANG_TYPE_FTL, resourcePath);

            Template template = TemplateManagerUtil.getTemplate(TemplateConstants.LANG_TYPE_FTL,
                    templateResource, false);

            TemplateTaglibSupportProvider templateTaglibSupportProvider = getTaglibSupportProvider();

            if (templateTaglibSupportProvider != null) {
                templateTaglibSupportProvider.addTaglibSupport(template, servletContextName, portletRequest,
                        portletResponse);
            }

            // LPS-43725

            HttpServletRequestWrapper httpServletRequestWrapper = new HttpServletRequestWrapper(
                    PortalUtil.getHttpServletRequest(portletRequest));

            HttpServletResponseWrapper httpServletResponseWrapper = new HttpServletResponseWrapper(
                    PortalUtil.getHttpServletResponse(portletResponse));

            HttpRequestHashModel httpRequestHashModel = new HttpRequestHashModel(httpServletRequestWrapper,
                    httpServletResponseWrapper, ObjectWrapper.DEFAULT_WRAPPER);

            template.put("Request", httpRequestHashModel);

            populateContext(path, portletRequest, portletResponse, template);

            Writer writer = null;

            if (portletResponse instanceof MimeResponse) {
                MimeResponse mimeResponse = (MimeResponse) portletResponse;

                writer = UnsyncPrintWriterPool.borrow(mimeResponse.getWriter());
            } else {
                writer = new UnsyncStringWriter();
            }

            template.processTemplate(writer);
        } catch (Exception e) {
            throw new PortletException(e);
        }
    }

    if (clearRequestParameters) {
        if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
            portletResponse.setProperty("clear-request-parameters", "true");
        }
    }
}

From source file:com.liferay.shipping.portlet.ShippingPortlet.java

License:Open Source License

@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws IOException, PortletException {

    String shippingExtensionKey = ParamUtil.getString(resourceRequest, "shippingExtensionKey");

    ShippingExtension shippingExtension = _shippingExtensionRegistry.getShippingExtension(shippingExtensionKey);

    if (shippingExtension == null) {
        return;// w w  w .  ja va 2 s . co  m
    }

    PortletContext portletContext = getPortletContext();

    String servletContextName = portletContext.getPortletContextName();

    String resourcePath = servletContextName.concat(TemplateConstants.SERVLET_SEPARATOR)
            .concat("html/view.ftl");

    OutputStream outputStream = resourceResponse.getPortletOutputStream();

    try {
        Template template = getTemplateWithTaglibSupport(resourceRequest, resourceResponse, servletContextName,
                resourcePath);

        String shippingExtensionHTMLFields = shippingExtension.getFieldsHTML(cloneTemplateContext(template));

        resourceResponse.setContentType(ContentTypes.TEXT);

        outputStream.write(shippingExtensionHTMLFields.getBytes(StringPool.UTF8));
    } catch (Exception e) {
        _log.error("Cannot process shipping extension template");
    } finally {
        outputStream.close();
    }
}

From source file:com.liferay.shipping.portlet.ShippingPortlet.java

License:Open Source License

@Override
protected void include(String path, PortletRequest portletRequest, PortletResponse portletResponse,
        String lifecycle) throws IOException, PortletException {

    PortletContext portletContext = getPortletContext();

    String servletContextName = portletContext.getPortletContextName();

    String resourcePath = servletContextName.concat(TemplateConstants.SERVLET_SEPARATOR).concat(path);

    boolean resourceExists = false;

    try {/*from   ww w . j av a 2  s  .  c  o  m*/
        resourceExists = TemplateResourceLoaderUtil.hasTemplateResource(TemplateConstants.LANG_TYPE_FTL,
                resourcePath);
    } catch (TemplateException te) {
        throw new IOException(te.getMessage());
    }

    if (!resourceExists) {
        _log.error(path + " is not a valid include");
    } else {
        try {
            Template template = getTemplateWithTaglibSupport(portletRequest, portletResponse,
                    servletContextName, resourcePath);

            populateContext(portletRequest, portletResponse, template);

            Writer writer = null;

            if (portletResponse instanceof MimeResponse) {
                MimeResponse mimeResponse = (MimeResponse) portletResponse;

                writer = UnsyncPrintWriterPool.borrow(mimeResponse.getWriter());
            } else {
                writer = new UnsyncStringWriter();
            }

            template.processTemplate(writer);
        } catch (Exception e) {
            throw new PortletException(e);
        }
    }

    if (clearRequestParameters) {
        if (lifecycle.equals(PortletRequest.RENDER_PHASE)) {
            portletResponse.setProperty("clear-request-parameters", "true");
        }
    }
}