1 23 24 package org.dbforms.taglib; 25 26 import org.dbforms.config.DbFormsErrors; 27 import org.dbforms.config.ResultSetVector; 28 29 import org.dbforms.util.Util; 30 31 import java.io.IOException ; 32 33 import javax.servlet.jsp.JspException ; 34 import javax.servlet.jsp.JspWriter ; 35 36 37 38 44 public class HasRecordsTag extends DbBaseHandlerTag 45 implements javax.servlet.jsp.tagext.TryCatchFinally { 46 private transient DbFormsErrors errors; 47 private String message = null; 48 49 54 public void setMessage(String message) { 55 this.message = message; 56 } 57 58 59 64 public String getMessage() { 65 return message; 66 } 67 68 69 74 public void setPageContext(final javax.servlet.jsp.PageContext pageContext) { 75 super.setPageContext(pageContext); 76 this.errors = (DbFormsErrors) pageContext.getServletContext() 77 .getAttribute(DbFormsErrors.ERRORS); 78 } 79 80 81 84 public void doCatch(Throwable t) throws Throwable { 85 throw t; 86 } 87 88 89 97 public int doEndTag() throws javax.servlet.jsp.JspException { 98 try { 100 int rsvSize = getParentForm() 101 .getResultSetVector() 102 .size(); 103 104 if (rsvSize != 0) { 105 if (bodyContent != null) { 106 bodyContent.writeOut(bodyContent.getEnclosingWriter()); 107 bodyContent.clearBody(); 108 } 109 110 String pmessage = (errors != null) 111 ? errors.getXMLErrorMessage(getMessage()) 112 : getMessage(); 113 114 if (!Util.isNull(pmessage)) { 115 JspWriter writer = pageContext.getOut(); 117 118 try { 119 writer.print(pmessage); 120 } catch (IOException e) { 121 throw new JspException (e.toString()); 122 } 123 } 124 } 125 } catch (java.io.IOException e) { 126 throw new JspException ("IO Error: " + e.getMessage()); 127 } 128 129 return EVAL_PAGE; 130 } 131 132 133 136 public void doFinally() { 137 message = null; 138 errors = null; 139 super.doFinally(); 140 } 141 142 143 150 public int doStartTag() throws JspException { 151 if (!ResultSetVector.isNull(getParentForm().getResultSetVector())) { 152 return EVAL_BODY_BUFFERED; 153 } else { 154 return SKIP_BODY; 155 } 156 } 157 } 158 | Popular Tags |