1 package org.apache.turbine.services.jsp.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26 import org.apache.turbine.modules.Screen;
27 import org.apache.turbine.modules.ScreenLoader;
28 import org.apache.turbine.services.TurbineServices;
29 import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
30 import org.apache.turbine.services.template.TemplateService;
31 import org.apache.turbine.util.RunData;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 public class JspScreenPlaceholder
49 {
50
51 private static Log log = LogFactory.getLog(JspNavigation.class);
52
53
54 private final RunData data;
55
56 private final ScreenLoader screenLoader;
57
58
59
60
61
62
63 public JspScreenPlaceholder(RunData data)
64 {
65 this.data = data;
66 AssemblerBrokerService abs = (AssemblerBrokerService)TurbineServices.getInstance()
67 .getService(AssemblerBrokerService.SERVICE_NAME);
68 this.screenLoader = (ScreenLoader)abs.getLoader(Screen.class);
69 }
70
71
72
73
74 public void exec()
75 {
76 String template = null;
77 String module = null;
78 try
79 {
80 template = data.getTemplateInfo().getScreenTemplate();
81 TemplateService templateService = (TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
82 module = templateService.getScreenName(template);
83 screenLoader.exec(data, module);
84 }
85 catch (Exception e)
86 {
87 String message = "Error processing navigation template:" +
88 template + " using module: " + module;
89 log.error(message, e);
90 try
91 {
92 data.getResponse().getWriter().print("Error processing navigation template: "
93 + template + " using module: " + module);
94 }
95 catch (java.io.IOException ioe)
96 {
97
98 }
99 }
100 }
101 }