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.struts.tiles;
23
24 import java.io.IOException;
25
26 import javax.servlet.ServletContext;
27 import javax.servlet.ServletException;
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30
31 import org.apache.struts.action.Action;
32
33 /**
34 * Struts wrapper implementation of Controller. This implementation wraps an
35 * <code>Action</code> in a <code>Controller</code>.
36 */
37 public class ActionController implements Controller {
38
39 /**
40 * Struts action wrapped.
41 */
42 private Action action = null;
43
44 /**
45 * Constructor.
46 *
47 * @param action Action to be wrapped.
48 */
49 public ActionController(Action action) {
50 this.action = action;
51 }
52
53 /**
54 * Method associated to a tile and called immediately before tile is
55 * included. This implementation calls a Struts Action. No servlet is
56 * set by this method.
57 *
58 * @param tileContext Current tile context.
59 * @param request Current request.
60 * @param response Current response.
61 * @param servletContext Current servlet context.
62 */
63 public void perform(
64 ComponentContext tileContext,
65 HttpServletRequest request,
66 HttpServletResponse response,
67 ServletContext servletContext)
68 throws ServletException, IOException {
69
70 try {
71 action.execute(null, null, request, response);
72
73 } catch (Exception e) {
74 throw new ServletException(e);
75 }
76 }
77
78 /**
79 * @see org.apache.struts.tiles.Controller#execute(org.apache.struts.tiles.ComponentContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext)
80 */
81 public void execute(
82 ComponentContext tileContext,
83 HttpServletRequest request,
84 HttpServletResponse response,
85 ServletContext servletContext)
86 throws Exception {
87
88 this.action.execute(null, null, request, response);
89
90 }
91 }