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
25 import javax.servlet.http.HttpServletRequest;
26 import javax.servlet.jsp.JspException;
27 import javax.servlet.jsp.JspWriter;
28 import javax.servlet.jsp.tagext.TagSupport;
29
30 import net.fckeditor.FCKeditor;
31 import net.fckeditor.tool.Utils;
32
33
34
35
36
37
38
39 public class EditorTag extends TagSupport {
40
41 private static final long serialVersionUID = -173091731589866140L;
42
43 private String instanceName;
44 private String inputName;
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 setInputName(String inputName) {
65 this.inputName = inputName;
66 }
67
68
69
70
71 public void setWidth(String width) {
72 this.width = width;
73 }
74
75
76
77
78 public void setHeight(String height) {
79 this.height = height;
80 }
81
82
83
84
85 public void setToolbarSet(String toolbarSet) {
86 this.toolbarSet = toolbarSet;
87 }
88
89
90
91
92 public void setValue(String value) {
93 this.value = value;
94 }
95
96
97
98
99 public void setBasePath(String basePath) {
100 this.basePath = basePath;
101 }
102
103
104
105
106 void setConfig(String name, String value) {
107 fckEditor.setConfig(name, value);
108 }
109
110 @Override
111 public int doStartTag() throws JspException {
112
113 try {
114 fckEditor = new FCKeditor((HttpServletRequest) pageContext
115 .getRequest(), instanceName, inputName);
116
117 if (Utils.isNotEmpty(width))
118 fckEditor.setWidth(width);
119 if (Utils.isNotEmpty(height))
120 fckEditor.setHeight(height);
121 if (Utils.isNotEmpty(toolbarSet))
122 fckEditor.setToolbarSet(toolbarSet);
123 if (Utils.isNotEmpty(value))
124 fckEditor.setValue(value);
125 if (Utils.isNotEmpty(basePath))
126 fckEditor.setBasePath(basePath);
127
128 } catch (Exception e) {
129 throw new JspException(e);
130 }
131
132 return EVAL_BODY_INCLUDE;
133 }
134
135 @Override
136 public int doEndTag() throws JspException {
137
138 JspWriter out = pageContext.getOut();
139
140 try {
141 out.println(fckEditor);
142 } catch (IOException e) {
143 throw new JspException(
144 "Tag response could not be written to the user!", e);
145 }
146
147 return EVAL_PAGE;
148 }
149
150 }