
com.nfwork.dbfound.web.ui.DataSet Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dbfound Show documentation
Show all versions of dbfound Show documentation
dbfound development platform
package com.nfwork.dbfound.web.ui;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import com.nfwork.dbfound.model.ModelEngine;
import com.nfwork.dbfound.util.JsonUtil;
import com.nfwork.dbfound.util.LogUtil;
import com.nfwork.dbfound.core.Context;
import com.nfwork.dbfound.core.Transaction;
import com.nfwork.dbfound.dto.QueryResponseObject;
import com.nfwork.dbfound.web.WebExceptionHandle;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class DataSet extends TagSupport {
private static final long serialVersionUID = 7492822892288859474L;
private String templateName = "dataSet.ftl";
private String id;
private String queryName;
private String modelName;
private String sourcePath;
private boolean loadData = true;
private boolean autoCount = false;
private String fields;
public int doEndTag() throws JspException {
JspWriter out = pageContext.getOut();
return executeFreemarker(out);
}
@SuppressWarnings("unchecked")
public int executeFreemarker(Writer out) {
HttpServletRequest request = (HttpServletRequest) pageContext
.getRequest();
HttpServletResponse response = (HttpServletResponse) pageContext
.getResponse();
Context context = Context.getCurrentContext(request, response);
try {
Configuration cfg = FreemarkFactory.getConfig(pageContext
.getServletContext());
// 定义Template对象
Template template = cfg.getTemplate(templateName);
// 定义数据
Map root = new HashMap();
root.put("id", id);
root.put("loadData", loadData);
String url = modelName + ".query";
if (queryName != null && queryName != "_default") {
url = url + "!" + queryName;
}
root.put("url", url);
if (loadData) {
if (queryName == null || "".equals(queryName)) {
queryName = "_default";
}
QueryResponseObject ro = ModelEngine.query(context, modelName,
queryName, sourcePath, autoCount);
if (ro != null && ro.getDatas().size() > 0) {
try {
Map map0 = (Map) ro.getDatas().get(0);
root.put("keySet", map0.keySet());
} catch (Exception e) {
LogUtil.warn("数据返回格式不是list
© 2015 - 2025 Weber Informatics LLC | Privacy Policy