1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2.components;
19
20 import java.io.Writer;
21
22 import javax.servlet.http.HttpServletRequest;
23 import javax.servlet.http.HttpServletResponse;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27
28 import com.opensymphony.xwork2.util.ValueStack;
29
30 /***
31 * ClosingUIBean is the standard superclass for UI components such as div etc.
32 */
33 public abstract class ClosingUIBean extends UIBean {
34 private static final Log LOG = LogFactory.getLog(ClosingUIBean.class);
35
36 protected ClosingUIBean(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
37 super(stack, request, response);
38 }
39
40 String openTemplate;
41
42 public abstract String getDefaultOpenTemplate();
43
44 /***
45 * Set template to use for opening the rendered html.
46 * @s.tagattribute required="false"
47 */
48 public void setOpenTemplate(String openTemplate) {
49 this.openTemplate = openTemplate;
50 }
51
52 public boolean start(Writer writer) {
53 boolean result = super.start(writer);
54 try {
55 evaluateParams();
56
57 mergeTemplate(writer, buildTemplateName(openTemplate, getDefaultOpenTemplate()));
58 } catch (Exception e) {
59 LOG.error("Could not open template", e);
60 e.printStackTrace();
61 }
62
63 return result;
64 }
65 }