1 21 22 package org.opensubsystems.patterns.scrollabletable.www; 23 24 import javax.servlet.jsp.JspException ; 25 26 import org.opensubsystems.core.www.BlockElementTag; 27 import org.opensubsystems.core.www.TagUtils; 28 29 39 public class ScrollableTableBodyTag extends BlockElementTag 40 { 41 43 46 private static final long serialVersionUID = 1517197854549928557L; 47 48 51 protected String m_strSummary; 52 53 55 58 public ScrollableTableBodyTag() 59 { 60 super("clsScrollableTable", BlockElementTag.DIV_BLOCK_ELEMENT); 61 } 62 63 65 68 public int doStartTag( 69 ) throws JspException 70 { 71 StringBuffer sbHtml = null; 72 Object objTemp; 73 String strScrollableTableId; 74 75 objTemp = getCachedContent(ScrollableTableTag.ACTIVE_SCROLLABLE_TABLE_ID, 76 false).trim(); 77 if (objTemp == null) 78 { 79 throw new JspException ("Cannot find scrollable table id on the page. Probable" + 80 " cause is that the scrollable table open tag is missing."); 81 } 82 strScrollableTableId = (String )objTemp; 83 84 sbHtml = new StringBuffer (); 85 86 112 113 sbHtml.append("<div id=\""); 115 sbHtml.append(strScrollableTableId); 116 sbHtml.append("body\""); 117 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 118 { 119 sbHtml.append(" class=\""); 120 sbHtml.append(m_strCssclass); 121 sbHtml.append("Body"); 122 sbHtml.append("\""); 123 } 124 sbHtml.append(" onresize=\"scrollColumnHeadings('"); 125 sbHtml.append(strScrollableTableId); 126 sbHtml.append("header', '"); 127 sbHtml.append(strScrollableTableId); 128 sbHtml.append("body', '"); 129 sbHtml.append(strScrollableTableId); 130 sbHtml.append("bodycolumns');\""); 131 sbHtml.append(" onscroll=\"scrollColumnHeadings('"); 132 sbHtml.append(strScrollableTableId); 133 sbHtml.append("header', '"); 134 sbHtml.append(strScrollableTableId); 135 sbHtml.append("body', '"); 136 sbHtml.append(strScrollableTableId); 137 sbHtml.append("bodycolumns');\""); 138 sbHtml.append(" onclick=\"selectRow('"); 139 sbHtml.append(strScrollableTableId); 140 sbHtml.append("', event);\""); 141 sbHtml.append(">\n"); 142 143 sbHtml.append("<table width=\"100%\" cellspacing=\"0\" cellpadding=\"2\"" + 144 " border=\"1\" frame=\"void\" rules=\"cols\" id=\""); 145 sbHtml.append(strScrollableTableId); 146 sbHtml.append("bodytable\""); 147 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 148 { 149 sbHtml.append(" class=\""); 150 sbHtml.append(m_strCssclass); 151 sbHtml.append("BodyTable"); 152 sbHtml.append("\""); 153 } 154 if ((m_strSummary != null) && (m_strSummary.length() > 0)) 155 { 156 sbHtml.append(" summary=\""); 157 sbHtml.append(m_strSummary); 158 sbHtml.append("\""); 159 } 160 sbHtml.append(">\n"); 161 162 sbHtml.append(getCachedContent( 165 ScrollableTableHeaderSettingsTag.SCROLLABLE_TABLE_HEADER_SETTINGS_CACHE, true)); 166 167 sbHtml.append("<tbody id=\""); 168 sbHtml.append(strScrollableTableId); 169 sbHtml.append("realbody\""); 170 if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) 171 { 172 sbHtml.append(" class=\""); 173 sbHtml.append(m_strCssclass); 174 sbHtml.append("RealBody"); 175 sbHtml.append("\""); 176 } 177 sbHtml.append(">"); 178 179 TagUtils.write(pageContext, sbHtml.toString()); 180 181 return (EVAL_BODY_INCLUDE); 182 } 183 184 187 public int doEndTag( 188 ) throws JspException 189 { 190 TagUtils.write(pageContext, "</tbody>\n</table>\n</div>"); 192 193 return (EVAL_PAGE); 194 } 195 196 199 public String getSummary() 200 { 201 return m_strSummary; 202 } 203 204 207 public void setSummary( 208 String strSummary 209 ) 210 { 211 m_strSummary = strSummary; 212 } 213 } 214 | Popular Tags |