1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.struts2.portlet.dispatcher;
23
24 import java.io.IOException;
25
26 import javax.servlet.ServletException;
27 import javax.servlet.http.HttpServlet;
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30
31 import org.apache.struts2.dispatcher.StrutsRequestWrapper;
32 import org.apache.struts2.portlet.PortletActionConstants;
33
34 import com.opensymphony.xwork2.util.TextUtils;
35
36 public class DispatcherServlet extends HttpServlet implements PortletActionConstants {
37
38 private static final long serialVersionUID = -266147033645951967L;
39
40 @Override
41 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
42 String dispatchTo = (String) request.getAttribute(DISPATCH_TO);
43 HttpServletRequest wrapper = wrapRequestIfNecessary(request);
44 if(TextUtils.stringSet(dispatchTo)) {
45 request.getRequestDispatcher(dispatchTo).include(wrapper, response);
46 }
47 }
48
49 private HttpServletRequest wrapRequestIfNecessary(HttpServletRequest request) {
50 if(!(request instanceof StrutsRequestWrapper)) {
51 return new StrutsRequestWrapper(request);
52 }
53 else {
54 return request;
55 }
56 }
57
58 }