package org.extremecomponents.table.tag; import org.apache.commons.lang.StringUtils; import org.extremecomponents.table.bean.Export; import org.extremecomponents.table.core.TableConstants; import org.extremecomponents.table.core.TableModel; import org.extremecomponents.table.interceptor.ExportInterceptor; import org.extremecomponents.util.ExceptionUtils; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; /** * Created by jeff */ public class ExportAjaxTag extends TagSupport implements ExportInterceptor { private String encoding; public void setEncoding(String encoding) { this.encoding = encoding; } public int doEndTag() throws JspException { if (TagUtils.isIteratingBody(this)) { return EVAL_PAGE; } try { TableModel model = TagUtils.getModel(this); Export export = new Export(model); export.setView(TableConstants.VIEW_HTML); export.setViewResolver(TableConstants.VIEW_HTML); export.setEncoding(TagUtils.evaluateExpressionAsString("encoding", this.encoding, pageContext)); addExportAttributes(model, export); model.addExport(export); } catch (Exception e) { throw new JspException("ExportTag.doEndTag() Problem: " + ExceptionUtils.formatStackTrace(e)); } return EVAL_PAGE; } public void addExportAttributes(TableModel model, Export export) { } @Override public void release() { super.release(); } }