1 19 20 package com.sslexplorer.core.tags; 21 22 import java.io.IOException ; 23 import java.util.ArrayList ; 24 import java.util.Iterator ; 25 import java.util.List ; 26 27 import javax.servlet.jsp.JspException ; 28 import javax.servlet.jsp.JspWriter ; 29 import javax.servlet.jsp.PageContext ; 30 31 import org.apache.struts.taglib.html.Constants; 32 33 import com.sslexplorer.core.CoreScript; 34 35 38 public class FormTag extends org.apache.struts.taglib.html.FormTag { 39 protected String autocomplete; 40 protected List scripts; 41 protected String subFormName; 42 43 public FormTag() { 44 super(); 45 scripts = new ArrayList (); 46 } 47 48 49 52 public String getAutocomplete() { 53 return autocomplete; 54 } 55 58 public void setAutocomplete(String autocomplete) { 59 this.autocomplete = autocomplete; 60 } 61 62 65 public void setSubFormName(String subFormName) { 66 this.subFormName = subFormName; 67 } 68 69 public String getSubFormName() { 70 return subFormName; 71 } 72 73 76 protected void renderOtherAttributes(StringBuffer results) { 77 super.renderOtherAttributes(results); 78 if(autocomplete != null) { 79 renderAttribute(results, "AUTOCOMPLETE", getAutocomplete()); 80 } 81 renderAttribute(results, "accept-charset", System.getProperty("sslexplorer.encoding", "UTF-8")); 82 } 83 84 89 public void addScript(CoreScript script) { 90 scripts.add(script); 91 } 92 93 94 97 public int doEndTag() throws JspException { 98 pageContext.removeAttribute(Constants.BEAN_KEY, PageContext.REQUEST_SCOPE); 99 pageContext.removeAttribute(Constants.FORM_KEY, PageContext.REQUEST_SCOPE); 100 StringBuffer results = new StringBuffer (); 101 for(Iterator i = scripts.iterator(); i.hasNext(); ) { 102 CoreScript script = (CoreScript)i.next(); 103 results.append(script.getRenderedHTML()); 104 } 105 results.append("</form>"); 106 if (this.focus != null && !this.focus.equals("")) { 107 results.append(this.renderFocusJavascript()); 108 } 109 JspWriter writer = pageContext.getOut(); 110 try { 111 writer.print(results.toString()); 112 } catch (IOException e) { 113 throw new JspException (messages.getMessage("common.io", e.toString())); 114 } 115 return (EVAL_PAGE); 116 } 117 118 public void release() { 119 super.release(); 120 subFormName = null; 121 } 122 123 protected void lookup() throws JspException { 124 super.lookup(); 125 if(subFormName != null) { 126 beanName = subFormName; 127 } 128 } 129 } 130 | Popular Tags |