KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > raptus > owxv3 > libtags > EditorTag


1 /*
2  * eAdmin/OWX
3  * Copyright (C) 1996-2003 OWX-Project Team <owx-team@gmx.net>
4  */

5
6 package com.raptus.owxv3.libtags;
7
8 import java.io.IOException JavaDoc;
9
10 import javax.servlet.jsp.*;
11 import javax.servlet.jsp.tagext.TagSupport JavaDoc;
12
13 import org.apache.struts.Globals;
14 import org.apache.struts.action.Action;
15 import org.apache.struts.util.RequestUtils;
16
17 import com.raptus.owxv3.LoggingManager;
18
19 /**
20  *
21  * <hr>
22  * <table width="100%" border="0">
23  * <tr>
24  * <td width="24%"><b>Filename</b></td><td width="76%">EditorTag.java</td>
25  * </tr>
26  * <tr>
27  * <td width="24%"><b>Author</b></td><td width="76%">REEA</td>
28  * </tr>
29  * <tr>
30  * <td width="24%"><b>Date</b></td><td width="76%">12th of October 2001</td>
31  * </tr>
32  * </table>
33  * <hr>
34  * <table width="100%" border="0">
35  * <tr>
36  * <td width="24%"><b>Date / Author</b></td><td width="76%"><b>Changes</b></td>
37  * </tr>
38  * </table>
39  * <hr>
40  * <table width="100%" border="0">
41  * <tr>
42  * <td>The editor tag creates an wysiwyg editor if the browser is IE, otherwise
43  * creates a texfield ot a textarea.
44  *
45  * </td>
46  * </tr>
47  * </table>
48  * <hr>
49  *
50  */

51 public class EditorTag extends TagSupport JavaDoc {
52
53
54     // ------------------------------------------------------------- Properties
55

56     /**
57      * The name of the field that will be place as input type hidden (in IE)
58      */

59     private String JavaDoc fieldname = null;
60
61     public String JavaDoc getFieldname() { return (this.fieldname); }
62     public void setFieldname(String JavaDoc f) { this.fieldname = f; }
63
64
65     /**
66      *The width of the window
67      */

68     private int width;
69
70     public int getWidth() { return (this.width); }
71     public void setWidth(int w) { this.width = w; }
72
73
74     /**
75      *The height of the window
76      */

77     private int height;
78
79     public int getHeight() { return (this.height); }
80     public void setHeight(int h) { this.height = h; }
81
82
83
84     /**
85      *The name of the current form to use in JavaScript functions, if not specified forms[0] is used
86      */

87     private String JavaDoc formname = null;
88
89     public String JavaDoc getFormname() { return (this.formname); }
90     public void setFormname(String JavaDoc fname) { this.formname = fname; }
91
92
93     /**
94      *The type of the editor can be oneline or standard
95      */

96     private String JavaDoc type = null;
97
98     public String JavaDoc getType() { return (this.type); }
99     public void setType(String JavaDoc t) { this.type = t; }
100
101
102     /**
103      *THe css style to use
104      */

105     private String JavaDoc style = null;
106
107     public String JavaDoc getStyle() { return (this.style); }
108     public void setStyle(String JavaDoc st) { this.style = st; }
109
110
111     /**
112      *THe css style to use in case of no editor (not IE)
113      */

114     private String JavaDoc noneditorstyle = null;
115
116     public String JavaDoc getNoneditorstyle() { return (this.noneditorstyle); }
117     public void setNoneditorstyle(String JavaDoc st){ this.noneditorstyle = st; }
118
119
120
121     /**
122      *the key of the js in wich the definition of fonts, colors are stored
123      *
124      */

125
126     private String JavaDoc definitions=null;
127
128
129     public String JavaDoc getDefinitions() { return (this.definitions); }
130     public void setDefinitions(String JavaDoc def) { this.definitions = def; }
131
132     /**
133      *
134      */

135
136
137     protected String JavaDoc resources = Action.MESSAGES_KEY;
138
139     public String JavaDoc getResources() { return (this.resources); }
140     public void setResources(String JavaDoc res) { this.resources = res; }
141
142
143     /**
144      *The location of the editor images
145      */

146     private String JavaDoc imagelocation = null;
147
148     public String JavaDoc getImagelocation() { return (this.imagelocation); }
149     public void setImagelocation(String JavaDoc im) { this.imagelocation = im; }
150
151     /**
152      *The location of JavaScripts
153      */

154     private String JavaDoc scriptlocation = null;
155
156     public String JavaDoc getScriptlocation() { return (this.scriptlocation); }
157     public void setScriptlocation(String JavaDoc sl) { this.scriptlocation = sl; }
158
159     /**
160      *The location of colorpicker
161      *
162      */

163
164     private String JavaDoc colorpicker=null;
165
166     public String JavaDoc getColorpicker() { return (this.colorpicker); }
167     public void setColorpicker(String JavaDoc cp) { this.colorpicker = cp; }
168
169
170
171     /*
172      *the onchange event handler
173      *
174      */

175
176     private String JavaDoc onchange=null;
177
178     public String JavaDoc getOnchange() { return (this.onchange); }
179     public void setOnchange(String JavaDoc c) { this.onchange = c; }
180     
181    
182     /**
183      *An init value of the editor
184      */

185     private String JavaDoc value = null;
186
187     public String JavaDoc getValue() { return (this.value); }
188     public void setValue(String JavaDoc v) { this.value = v; }
189
190
191     // --------------------------------------------------------- Public Methods
192

193
194     /**
195      * Process the start tag.
196      *
197      * @exception JspException if a JSP exception has occurred
198      */

199     public int doStartTag() throws JspException
200     {
201         if(formname==null) formname="forms[0]";
202         /*if(imagelocation==null) imagelocation="/owxv3-images/editor/";
203         if(scriptlocation==null) scriptlocation="/owxv3/api/javascripts/";
204          */

205
206         if(resources!=null)
207         {
208             if(definitions!=null) definitions=RequestUtils.message(pageContext, resources, Globals.LOCALE_KEY, definitions);
209             if(imagelocation!=null) imagelocation=RequestUtils.message(pageContext, resources, Globals.LOCALE_KEY, imagelocation);
210             if(scriptlocation!=null) scriptlocation=RequestUtils.message(pageContext, resources, Globals.LOCALE_KEY, scriptlocation);
211             if(colorpicker!=null) colorpicker=RequestUtils.message(pageContext, resources, Globals.LOCALE_KEY, colorpicker);
212         }
213         if(type==null) type="standard";
214         if(width==0) width=500;
215         if(height==0) height=250;
216         if(value==null) value="";
217
218         String JavaDoc jsvalue=replace(value,"\"","\\\"");
219         jsvalue=replace(jsvalue,"'","\\'");
220         jsvalue=replace(jsvalue,"\r","");
221         jsvalue=replace(jsvalue,"\n","\\n");
222         if(type.equals("oneline")) height=50;
223
224         java.text.SimpleDateFormat JavaDoc formatter=new java.text.SimpleDateFormat JavaDoc("mmssSSS");
225
226         String JavaDoc editor="editor"+formatter.format(new java.util.Date JavaDoc());
227
228         try
229         {
230             JspWriter out = pageContext.getOut();
231
232
233             out.print("<script language='JavaScript' SRC='");
234             out.print(definitions);
235             out.println("'></script>");
236                  
237             out.println("<script language=\"JavaScript\">");
238             out.println("// <!--");
239             out.print("function save");
240             out.print(editor);
241             out.println("(){");
242             out.println("if(document.all && navigator.userAgent.toLowerCase().indexOf('win')!=-1){");
243
244
245             /*if(onchange!=null)
246             {
247                 out.print("if(document.");
248                 out.print(formname);
249                 out.print(".");
250                 out.print(fieldname);
251                 out.print(".value!=");
252                 out.print(editor);out.println(".document.body.innerHTML) ");
253                 out.print(onchange);out.println(";");
254             }*/

255             out.print("document.");
256             out.print(formname);
257             out.print(".");
258             out.print(fieldname);
259             out.print(".value=");
260             out.print(editor);out.println(".document.body.innerHTML;");
261             out.println("}");
262             out.println("}");
263              
264
265             out.println("if(document.all && navigator.userAgent.toLowerCase().indexOf('win')!=-1){");
266             //adding onsumbit=save
267
out.print("document.");
268             out.print(formname);
269             out.print(".onsubmit=save");
270             out.print(editor);
271             out.println(";");
272
273
274             out.print("document.writeln(\"<input type='hidden' name='");
275             out.print(fieldname);
276             out.print("'>\");");
277             out.print("document.");
278             out.print(formname);
279             out.print(".");
280             out.print(fieldname);
281             out.print(".value='");
282             out.print(jsvalue);
283             out.println("';");
284
285             out.print("document.writeln(\"<table width=");
286             out.print(width);
287             //out.print(" height=");
288
//out.print(height);
289
out.println(" border=0 cellspacing=0 cellpadding=0>\");");
290             out.println("document.writeln(\"<tr>\");");
291             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#808080><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
292             out.print("document.writeln(\"<td width='");out.print(width-3);out.print("' height='1' bgcolor=#808080><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
293             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#808080><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
294             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#D4D0C8><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
295              out.println("document.writeln(\"</tr>\");");
296             out.println("document.writeln(\"<tr>\");");
297             out.print("document.writeln(\"<td width='1' height='25' bgcolor=#808080><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
298             out.print("document.writeln(\"<td width='");out.print(width-3);out.print("' height='25' bgcolor=#8BBFF9>\");");
299             /*out.print("document.writeln(\"<select name='wys_editor_format'");
300             if(style!=null)
301             {
302                 out.print(" class='");out.print(style);out.print("' ");
303             }
304             out.print("onChange='makeFormat(");out.print(editor);out.print(",this);");out.println("'>\");");
305             out.println("document.writeln(\"<option value='\"+editorformatvalue[0]+\"' selected>\"+editorformattext[0]+\"</option>\");");
306             out.println("for(i=1;i<editorformattext.length;i++){");
307             out.println("document.writeln(\"<option value='\"+editorformatvalue[i]+\"'>\"+editorformattext[i]+\"</option>\");");
308             out.println("}");
309             out.println("document.writeln(\"</select>\");");*/

310             out.print("document.writeln(\"&nbsp;&nbsp;<select name='wys_editor_font'");
311
312             if(style!=null)
313             {
314                 out.print(" class='");out.print(style);out.print("' ");
315             }
316             out.print("onChange='makeFontStyle(");out.print(editor);out.print(",this);");out.print("'>\");");
317
318             out.println("document.writeln(\"<option value='\"+editorfontvalue[0]+\"' selected>\"+editorfonttext[0]+\"</option>\");");
319
320             out.println("for(i=1;i<editorfonttext.length;i++){");
321             out.println("document.writeln(\"<option value='\"+editorfontvalue[i]+\"'>\"+editorfonttext[i]+\"</option>\");");
322             out.println("}");
323             out.println("document.writeln(\"</select>\");");
324             out.print("document.writeln(\"<select name='wys_editor_size'");
325             if(style!=null)
326             {
327                 out.print(" class='");out.print(style);out.print("' ");
328             }
329             out.print("onChange='makeFontSize(");out.print(editor);out.print(",this);");out.print("'>\");");
330             out.println("document.writeln(\"<option value='\"+editorsizevalue[0]+\"' selected>\"+editorsizetext[0]+\"</option>\");");
331             out.println("for(i=1;i<editorsizetext.length;i++){");
332             out.println("document.writeln(\"<option value='\"+editorsizevalue[i]+\"'>\"+editorsizetext[i]+\"</option>\");");
333             out.println("}");
334
335             out.println("document.writeln(\"</select>\");");
336
337             /*out.print("document.writeln(\"<select name='wys_editor_color'");
338             if(style!=null)
339             {
340                 out.print(" class='");out.print(style);out.print("' ");
341             }
342             out.print("onChange='makeFontColor(");out.print(editor);out.print(",this);");out.print("'>\");");
343
344             out.println("document.writeln(\"<option value='\"+editorcolorvalue[0]+\"' selected>\"+editorcolortext[0]+\"</option>\");");
345             out.println("for(i=1;i<editorcolortext.length;i++){");
346             out.println("document.writeln(\"<option value='\"+editorcolorvalue[i]+\"'>\"+editorcolortext[i]+\"</option>\");");
347             out.println("}");
348             out.println("document.writeln(\"</select>\");");*/

349
350             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"bold\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"MM_swapImage('bold','','");out.print(imagelocation);out.print("b_on.gif',1);status='\"+editorboldtext+\"';return true;\\\"><img SRC='");out.print(imagelocation);out.println("b.gif' width='18' height='18' border='0' alt='\"+editorboldtext+\"' name='bold' align='absmiddle'></a>\");");
351             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"italic\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editoritalictext+\"';MM_swapImage('italic','','");out.print(imagelocation);out.print("i_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("i.gif' width='18' height='18' border='0' alt='\"+editoritalictext+\"' name='italic' align='absmiddle'></a>\");");
352             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"underline\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorunderlinetext+\"';MM_swapImage('underline','','");out.print(imagelocation);out.print("u_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("u.gif' width='18' height='18' border='0' alt='\"+editorunderlinetext+\"' align='absmiddle' name='underline'></a>\");");
353
354             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"justifyleft\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorlefttext+\"';MM_swapImage('left','','");out.print(imagelocation);out.print("left_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("left.gif' width='18' height='18' border='0' alt='\"+editorlefttext+\"' align='absmiddle' name='left'></a>\");");
355             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"justifycenter\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcentertext+\"';MM_swapImage('center','','");out.print(imagelocation);out.print("center_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("center.gif' width='18' height='18' border='0' alt='\"+editorcentertext+\"' align='absmiddle' name='center'></a>\");");
356             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"justifyright\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorrighttext+\"';MM_swapImage('right','','");out.print(imagelocation);out.print("right_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("right.gif' width='18' height='18' border='0' alt='\"+editorrighttext+\"' align='absmiddle' name='right'></a>\");");
357
358             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"indent\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorindenttext+\"';MM_swapImage('indent','','");out.print(imagelocation);out.print("indent_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("indent.gif' width='18' height='18' border='0' alt='\"+editorindenttext+\"' align='absmiddle' name='indent'></a>\");");
359             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"outdent\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editoroutdenttext+\"';MM_swapImage('outdent','','");out.print(imagelocation);out.print("outdent_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("outdent.gif' width='18' height='18' border='0' alt='\"+editoroutdenttext+\"' align='absmiddle' name='outdent'></a>\");");
360
361             if(type.equals("standard"))
362             {
363                 //only in standard (multiline) format we have list
364
out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"insertUnorderedList\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorultext+\"';MM_swapImage('ul','','");out.print(imagelocation);out.print("ul_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("ul.gif' width='18' height='18' border='0' align='absmiddle' alt='\"+editorultext+\"' name='ul'></a>\");");
365                 out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"insertOrderedList\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editoroltext+\"';MM_swapImage('ol','','");out.print(imagelocation);out.print("ol_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("ol.gif' width='18' height='18' border='0' align='absmiddle' alt='\"+editoroltext+\"' name='ol'></a>\");");
366                 //out.print("document.writeln(\"<a HREF='javascript:makeLineBreak(");out.print(editor);out.print(")' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='Line break';MM_swapImage('br','','");out.print(imagelocation);out.print("br_on.gif',1)\\\"><img SRC='");out.print(imagelocation);out.println("br.gif' width='14' height='18' border='0' align='absmiddle' alt='Line Break' name='br'></a>\");");
367
}
368
369             out.print("document.writeln(\"<a HREF='javascript:makeFontColor(");out.print(editor);out.print(",\\\"");out.print(colorpicker);out.print("\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcptext+\"';MM_swapImage('color','','");out.print(imagelocation);out.print("color_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("color.gif' width='18' height='18' border='0' alt='\"+editorcptext+\"' align='absmiddle' name='color'></a>\");");
370             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"cut\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcuttext+\"';MM_swapImage('cut','','");out.print(imagelocation);out.print("cut_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("cut.gif' width='18' height='18' border='0' alt='\"+editorcuttext+\"' align='absmiddle' name='cut'></a>\");");
371             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"copy\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcopytext+\"';MM_swapImage('copy','','");out.print(imagelocation);out.print("copy_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("copy.gif' width='18' height='18' border='0' alt='\"+editorcopytext+\"' align='absmiddle' name='copy'></a>\");");
372             out.print("document.writeln(\"<a HREF='javascript:make(");out.print(editor);out.print(",\\\"paste\\\");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcopytext+\"';MM_swapImage('paste','','");out.print(imagelocation);out.print("paste_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("paste.gif' width='18' height='18' border='0' alt='\"+editorpastetext+\"' align='absmiddle' name='paste'></a>\");");
373
374             out.print("document.writeln(\"<a HREF='javascript:removeFormat(");out.print(editor);out.print(");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorcanceltext+\"';MM_swapImage('remove','','");out.print(imagelocation);out.print("cancel_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("cancel.gif' width='18' height='18' border='0' align='absmiddle' alt='\"+editorcanceltext+\"' name='remove'></a>\");");
375             out.print("document.writeln(\"<a HREF='javascript:makeLink(");out.print(editor);out.print(");");out.print("' onMouseOut='MM_swapImgRestore()' onMouseOver=\\\"status='\"+editorurltext+\"';MM_swapImage('link','','");out.print(imagelocation);out.print("url_on.gif',1);return true;\\\"><img SRC='");out.print(imagelocation);out.println("url.gif' width='18' height='18' border='0' align='absmiddle' alt='\"+editorurltext+\"' name='link'></a>\");");
376
377             out.println("document.writeln(\"</td>\");");
378             out.print("document.writeln(\"<td width='1' height='25' bgcolor=#E9E7E3><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
379             out.print("document.writeln(\"<td width='1' height='25' bgcolor=#D4D0C8><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
380             out.println("document.writeln(\"</tr>\");");
381             out.println("document.writeln(\"<tr>\");");
382             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#E9E7E3><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
383             out.print("document.writeln(\"<td width='");out.print(width-3);out.print("' height='1' bgcolor=#E9E7E3><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
384             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#E9E7E3><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
385             out.print("document.writeln(\"<td width='1' height='1' bgcolor=#D4D0C8><img SRC='");out.print(imagelocation);out.println("1pxtransp.gif' width='1' height='1'></td>\");");
386             out.println("document.writeln(\"</tr></table>\");");
387             
388             out.print("document.writeln(\"<table width=");
389             out.print(width);
390             out.print(" height=");
391             out.print(height);
392             out.println(" border=0 cellspacing=0 cellpadding=0>\");");
393             out.println("document.writeln(\"<tr>\");");
394             out.print("document.writeln(\"<td><iframe id='");out.print(editor);out.print("' width='100%' height='100%'");
395             if(type.equals("oneline"))
396             {
397                 out.print(" scrolling='no'");
398             }
399             out.println(">\");");
400
401             out.println("document.writeln(\"</iframe></td>\");");
402             out.println("document.writeln(\"</tr></table>\");");
403             
404
405             out.print(editor);out.println(".document.open();");
406             out.print(editor);out.print(".document.write('<html>");
407             out.print(jsvalue);out.println("</html>');");
408
409             out.print(editor);out.println(".document.close();");
410             out.print(editor);out.println(".document.designMode='on';");
411            
412
413             out.print(editor);out.println(".focus();");
414           
415
416             out.print("document.writeln(\"<sc\"+\"ript language='JavaScript' SRC='");
417             out.print(scriptlocation);
418             out.println("'></sc\"+\"ript>\");");
419
420
421
422             out.println("} else {");
423             //dealing with Netcape
424
if(type.equals("standard"))
425             {
426
427                 out.print("document.write('<textarea name=\"");
428                 out.print(fieldname);
429
430
431                 out.print("\" cols=\""+width/10+"\" rows=\""+height/15+"\" wrap=\"VIRTUAL\"");
432                 if(noneditorstyle!=null)
433                 {
434                     out.print(" class=\"");out.print(noneditorstyle);out.print("\"");
435                 }
436
437                 /*if(onchange!=null)
438                 {
439                   out.print(" onChange=\"");out.print(onchange);out.print("\"");
440                 }*/

441                 out.print(">");
442                 out.print(jsvalue);
443                 out.println("</textarea>');");
444
445             }
446             else
447             {
448                 out.print("document.write('<input type=\"text\" name=\"");
449                 out.print(fieldname);
450                 out.print("\"");
451                 if(noneditorstyle!=null)
452                 {
453                     out.print(" class=\"");out.print(noneditorstyle);out.print("\" ");
454                 }
455
456                 /*if(onchange!=null)
457                 {
458                   out.print(" onChange=\"");out.print(onchange);out.print("\"");
459                 }*/

460                 out.println(">');");
461                 out.print("document.");
462                 out.print(formname);
463                 out.print(".");
464                 out.print(fieldname);
465                 out.print(".value='");
466                 out.print(jsvalue);
467                 out.println("';");
468
469             }
470             out.println("}");
471             out.println("// -->");
472
473             out.println("</script>");
474             out.println("<noscript>");
475             if(type.equals("standard"))
476             {
477                 out.print("<textarea name=\"");
478                 out.print(fieldname);
479
480
481                 out.print("\" cols=\"60\" rows=\"10\" wrap=\"VIRTUAL\"");
482                 if(noneditorstyle!=null)
483                 {
484                     out.print(" class=\"");out.print(noneditorstyle);out.print("\" ");
485                 }
486                 out.print(">");
487                 out.print(value);
488                 out.println("</textarea>");
489
490
491             }
492             else
493             {
494                 out.print("<input type=\"text\" name=\"");
495                 out.print(fieldname);
496                 out.print("\" value=\"");
497                 out.print(value);
498                 out.print("\"");
499                 if(noneditorstyle!=null)
500                 {
501                     out.print(" class=\"");out.print(noneditorstyle);out.print("\" ");
502                 }
503                 out.println(">");
504
505             }
506
507             out.println("</noscript>");
508          
509
510         }
511         catch(IOException JavaDoc e) {
512             LoggingManager.log("Somenthing really screwed up", this);
513         }
514
515     // Continue processing this page
516
return (SKIP_BODY);
517
518     }
519
520
521     /**
522      * Release any acquired resources.
523      */

524     public void release()
525     {
526         fieldname = null;
527         width = 0;
528         height = 0;
529         formname = null;
530         style=null;
531         type=null;
532         imagelocation=null;
533         resources=null;
534         definitions=null;
535         value=null;
536     }
537
538     /**
539       * Replaces all instances of oldString with newString in line.
540       *
541       *
542       * @param String original string.
543       * @param String string in line to replace.
544       * @param String replace oldString with this.
545       * @return String string with replacements.
546       */

547     private String JavaDoc replace(String JavaDoc line, String JavaDoc oldString,String JavaDoc newString)
548     {
549         int i = 0;
550         if ((i = line.indexOf(oldString, i)) >= 0)
551         {
552             char [] line2 = line.toCharArray();
553             char [] newString2 = newString.toCharArray();
554             int oLength = oldString.length();
555             StringBuffer JavaDoc buf = new StringBuffer JavaDoc(line2.length);
556             buf.append(line2, 0, i).append(newString2);
557             i += oLength;
558             int j = i;
559             while ((i = line.indexOf(oldString, i)) > 0)
560             {
561                 buf.append(line2, j, i - j).append(newString2);
562                 i += oLength;
563                 j = i;
564             }
565             buf.append(line2, j, line2.length - j);
566             return buf.toString();
567         }
568         return line;
569     }
570
571
572
573 }
574
575 // eof
576
Popular Tags