1 18 package org.apache.beehive.netui.databinding.datagrid.runtime.rendering.cell; 19 20 import javax.servlet.jsp.JspContext ; 21 import javax.servlet.http.HttpServletRequest ; 22 23 import org.apache.beehive.netui.databinding.datagrid.api.exceptions.CellDecoratorException; 24 import org.apache.beehive.netui.databinding.datagrid.api.rendering.CellDecorator; 25 import org.apache.beehive.netui.databinding.datagrid.api.rendering.CellModel; 26 import org.apache.beehive.netui.databinding.datagrid.runtime.model.cell.SpanCellModel; 27 import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil; 28 import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender; 29 import org.apache.beehive.netui.tags.rendering.TagRenderingBase; 30 31 34 public final class SpanCellDecorator 35 extends CellDecorator { 36 37 public void decorate(JspContext jspContext, AbstractRenderAppender appender, CellModel cellModel) 38 throws CellDecoratorException { 39 40 assert cellModel instanceof SpanCellModel; 41 SpanCellModel spanCellModel = (SpanCellModel)cellModel; 42 43 HttpServletRequest request = JspUtil.getRequest(jspContext); 44 TagRenderingBase span = TagRenderingBase.Factory.getRendering(TagRenderingBase.SPAN_TAG, request); 45 46 String formatted = cellModel.formatText(spanCellModel.getValue()); 47 48 span.doStartTag(appender, spanCellModel.getSpanState()); 49 appender.append(formatted); 50 span.doEndTag(appender); 51 52 String javascript = spanCellModel.getJavascript(); 53 if(javascript != null) 54 appender.append(javascript); 55 } 56 } 57 | Popular Tags |