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.ModuleConfig;
22
23 /***
24 * <p>Perform forwarding or redirection based on the specified
25 * <code>String</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 AbstractPerformInclude extends ActionCommandBase {
31
32
33 /***
34 * <p>Perform an include based on the specified include uri (if any).</p>
35 *
36 * @param actionCtx The <code>Context</code> for the current request
37 * @return <code>true</code> so that processing completes
38 * @throws Exception if thrown by the <code>Action</code>
39 */
40 public boolean execute(ActionContext actionCtx)
41 throws Exception {
42 ModuleConfig moduleConfig = actionCtx.getModuleConfig();
43
44
45 String include = actionCtx.getInclude();
46
47 if (include == null) {
48 return (false);
49 }
50
51
52 String uri = moduleConfig.getPrefix() + include;
53
54
55 perform(actionCtx, uri);
56
57 return (true);
58 }
59
60
61
62 /***
63 * <p>Perform the appropriate processing on the specified include
64 * uri.</p>
65 *
66 * @param context The context for this request
67 * @param include The forward to be performed
68 * @throws Exception if thrown by the <code>Action</code>
69 */
70 protected abstract void perform(ActionContext context, String include)
71 throws Exception;
72 }