1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.tiles.request.freemarker;
22
23 import org.apache.tiles.request.ApplicationContext;
24 import org.apache.tiles.request.servlet.ServletUtil;
25
26 import freemarker.core.Environment;
27 import freemarker.ext.servlet.FreemarkerServlet;
28 import freemarker.ext.servlet.HttpRequestHashModel;
29 import freemarker.ext.servlet.ServletContextHashModel;
30 import freemarker.template.TemplateModelException;
31
32
33
34
35
36
37 public final class FreemarkerRequestUtil {
38
39
40
41
42 private FreemarkerRequestUtil() {
43 }
44
45
46
47
48
49
50
51 public static HttpRequestHashModel getRequestHashModel(Environment env) {
52 try {
53 return (HttpRequestHashModel) env.getDataModel().get(
54 FreemarkerServlet.KEY_REQUEST);
55 } catch (TemplateModelException e) {
56 throw new NotAvailableFreemarkerServletException(
57 "Exception got when obtaining the request hash model", e);
58 }
59 }
60
61
62
63
64
65
66
67 public static ServletContextHashModel getServletContextHashModel(
68 Environment env) {
69 try {
70 return (ServletContextHashModel) env.getDataModel().get(
71 FreemarkerServlet.KEY_APPLICATION);
72 } catch (TemplateModelException e) {
73 throw new NotAvailableFreemarkerServletException(
74 "Exception got when obtaining the application hash model",
75 e);
76 }
77 }
78
79
80
81
82
83
84
85
86
87 public static ApplicationContext getApplicationContext(
88 Environment env) {
89 return ServletUtil
90 .getApplicationContext(getServletContextHashModel(env)
91 .getServlet().getServletContext());
92 }
93
94 }