001
014
015 package com.liferay.portal.servlet;
016
017 import com.liferay.portal.kernel.servlet.DynamicServletRequest;
018
019 import java.io.IOException;
020
021 import javax.servlet.RequestDispatcher;
022 import javax.servlet.Servlet;
023 import javax.servlet.ServletException;
024 import javax.servlet.ServletRequest;
025 import javax.servlet.ServletResponse;
026 import javax.servlet.http.HttpServletRequest;
027
028
031 public class DirectRequestDispatcher implements RequestDispatcher {
032
033 public DirectRequestDispatcher(
034 Servlet servlet, String path, String queryString) {
035
036 _servlet = servlet;
037 _path = path;
038 _queryString = queryString;
039 }
040
041 @Override
042 public void forward(
043 ServletRequest servletRequest, ServletResponse servletResponse)
044 throws IOException, ServletException {
045
046 servletRequest = DynamicServletRequest.addQueryString(
047 (HttpServletRequest)servletRequest, _queryString);
048
049 _servlet.service(servletRequest, servletResponse);
050 }
051
052 @Override
053 public void include(
054 ServletRequest servletRequest, ServletResponse servletResponse)
055 throws IOException, ServletException {
056
057 servletRequest.setAttribute(RequestDispatcher.INCLUDE_PATH_INFO, null);
058 servletRequest.setAttribute(
059 RequestDispatcher.INCLUDE_SERVLET_PATH, _path);
060
061 servletRequest = DynamicServletRequest.addQueryString(
062 (HttpServletRequest)servletRequest, _queryString);
063
064 _servlet.service(servletRequest, servletResponse);
065 }
066
067 private final String _path;
068 private final String _queryString;
069 private final Servlet _servlet;
070
071 }