1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts.chain.commands;
19
20 import org.apache.struts.chain.contexts.ActionContext;
21 import org.apache.struts.config.ForwardConfig;
22
23 /***
24 * <p>Perform forwarding or redirection based on the specified
25 * <code>ForwardConfig</code> (if any).</p>
26 *
27 * @version $Rev: 421119 $ $Date: 2005-06-04 10:58:46 -0400 (Sat, 04 Jun 2005)
28 * $
29 */
30 public abstract class AbstractPerformForward extends ActionCommandBase {
31
32
33 /***
34 * <p>Perform forwarding or redirection based on the specified
35 * <code>ActionForward</code> (if any).</p>
36 *
37 * @param actionCtx The <code>Context</code> for the current request
38 * @return <code>true</code> so that processing completes
39 * @throws Exception if thrown by the <code>Action</code>
40 */
41 public boolean execute(ActionContext actionCtx)
42 throws Exception {
43
44 ForwardConfig forwardConfig = actionCtx.getForwardConfig();
45
46 if (forwardConfig == null) {
47 return (false);
48 }
49
50
51 perform(actionCtx, forwardConfig);
52
53 return (true);
54 }
55
56
57
58 /***
59 * <p>Perform the appropriate processing on the specified
60 * <code>ForwardConfig</code>.</p>
61 *
62 * @param context The context for this request
63 * @param forwardConfig The forward to be performed
64 * @throws Exception if thrown by the <code>Action</code>
65 */
66 protected abstract void perform(ActionContext context,
67 ForwardConfig forwardConfig)
68 throws Exception;
69 }