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