1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package net.fckeditor.tags;
22
23 import java.io.IOException;
24 import java.util.Map;
25
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.jsp.JspException;
28 import javax.servlet.jsp.JspWriter;
29 import javax.servlet.jsp.tagext.TagSupport;
30
31 import net.fckeditor.FCKeditor;
32 import net.fckeditor.tool.Utils;
33
34
35
36
37
38
39
40 public class EditorTag extends TagSupport {
41
42 private static final long serialVersionUID = -173091731589866140L;
43
44 private String instanceName;
45 private String width;
46 private String height;
47 private String toolbarSet;
48 private String value;
49 private String basePath;
50
51
52 private transient FCKeditor fckEditor;
53
54
55
56
57 public void setInstanceName(String instanceName) {
58 this.instanceName = instanceName;
59 }
60
61
62
63
64 public void setWidth(String width) {
65 this.width = width;
66 }
67
68
69
70
71 public void setHeight(String height) {
72 this.height = height;
73 }
74
75
76
77
78 public void setToolbarSet(String toolbarSet) {
79 this.toolbarSet = toolbarSet;
80 }
81
82
83
84
85 public void setValue(String value) {
86 this.value = value;
87 }
88
89
90
91
92 public void setBasePath(String basePath) {
93 this.basePath = basePath;
94 }
95
96
97
98
99
100
101 @Deprecated
102 void setConfigParamAll(Map<String, String> map) {
103 fckEditor.getConfig().putAll(map);
104 }
105
106
107
108
109 void setConfig(String name, String value) {
110 fckEditor.setConfig(name, value);
111 }
112
113 @Override
114 public int doStartTag() throws JspException {
115
116 try {
117 fckEditor = new FCKeditor((HttpServletRequest) pageContext
118 .getRequest(), instanceName);
119
120 if (Utils.isNotEmpty(width))
121 fckEditor.setWidth(width);
122 if (Utils.isNotEmpty(height))
123 fckEditor.setHeight(height);
124 if (Utils.isNotEmpty(toolbarSet))
125 fckEditor.setToolbarSet(toolbarSet);
126 if (Utils.isNotEmpty(value))
127 fckEditor.setValue(value);
128 if (Utils.isNotEmpty(basePath))
129 fckEditor.setBasePath(basePath);
130
131 } catch (Exception e) {
132 throw new JspException(e);
133 }
134
135 return EVAL_BODY_INCLUDE;
136 }
137
138 @Override
139 public int doEndTag() throws JspException {
140
141 JspWriter out = pageContext.getOut();
142
143 try {
144 out.println(fckEditor);
145 } catch (IOException e) {
146 throw new JspException(
147 "Tag response could not be written to the user!", e);
148 }
149
150 return EVAL_PAGE;
151 }
152
153 }