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.tiles.velocity.template;
23
24 import java.io.Writer;
25 import java.util.Map;
26
27 import javax.servlet.ServletContext;
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30
31 import org.apache.tiles.servlet.context.ServletUtil;
32 import org.apache.tiles.template.InsertTemplateModel;
33 import org.apache.velocity.context.InternalContextAdapter;
34
35 /***
36 * Wraps {@link InsertTemplateModel} to be used in Velocity. For the list of
37 * parameters, see
38 * {@link InsertTemplateModel#start(org.apache.tiles.TilesContainer, Object...)}
39 * , {@link InsertTemplateModel#end(org.apache.tiles.TilesContainer,
40 * String, String, String, String, String, Object...)} and
41 * {@link InsertTemplateModel#execute(org.apache.tiles.TilesContainer,
42 * String, String, String, String, String, Object...)}.
43 *
44 * @version $Rev: 902403 $ $Date: 2010-01-23 14:31:17 +0100 (sab, 23 gen 2010) $
45 * @since 2.2.2
46 */
47 public class InsertTemplateDirective extends BlockDirective {
48
49 /***
50 * The template model.
51 */
52 private InsertTemplateModel model = new InsertTemplateModel();
53
54 /***
55 * Default constructor.
56 *
57 * @since 2.2.2
58 */
59 public InsertTemplateDirective() {
60
61 }
62
63 /***
64 * Constructor.
65 *
66 * @param model The used model.
67 * @since 2.2.2
68 */
69 public InsertTemplateDirective(InsertTemplateModel model) {
70 this.model = model;
71 }
72
73 /*** {@inheritDoc} */
74 @Override
75 public String getName() {
76 return "tiles_insertTemplate";
77 }
78
79 /*** {@inheritDoc} */
80 @Override
81 protected void end(InternalContextAdapter context, Writer writer,
82 Map<String, Object> params, HttpServletRequest request,
83 HttpServletResponse response, ServletContext servletContext) {
84 model.end(ServletUtil.getCurrentContainer(request, servletContext),
85 (String) params.get("template"), (String) params
86 .get("templateType"), (String) params
87 .get("templateExpression"),
88 (String) params.get("role"), (String) params.get("preparer"),
89 context, request, response, writer);
90 }
91
92 /*** {@inheritDoc} */
93 @Override
94 protected void start(InternalContextAdapter context, Writer writer,
95 Map<String, Object> params, HttpServletRequest request,
96 HttpServletResponse response, ServletContext servletContext) {
97 model.start(ServletUtil.getCurrentContainer(request, servletContext),
98 context, request, response);
99 }
100
101 }