package com.nfwork.dbfound.web.jstl; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; import com.nfwork.dbfound.core.Context; import com.nfwork.dbfound.core.Transaction; import com.nfwork.dbfound.dto.QueryResponseObject; import com.nfwork.dbfound.model.ModelEngine; import com.nfwork.dbfound.util.JsonUtil; import com.nfwork.dbfound.util.LogUtil; import com.nfwork.dbfound.web.WebWriter; public class Forward extends TagSupport implements Cloneable { private static final long serialVersionUID = -5941376965347019531L; private String queryName = "_default"; private String modelName; public int doEndTag() throws JspException { try { HttpServletRequest request = (HttpServletRequest) pageContext .getRequest(); HttpServletResponse response = (HttpServletResponse) pageContext .getResponse(); Context context = Context.getCurrentContext(request, response); QueryResponseObject ro = ModelEngine.query(context, modelName, queryName, null, true); Transaction transaction = context.getTransaction(); if (transaction.isOpen()) { transaction.commit(); transaction.end(); } WebWriter.jsonWriter((HttpServletResponse) pageContext .getResponse(), JsonUtil.beanToJson(ro)); } catch (Exception e) { LogUtil.error(e.getMessage(), e); } return SKIP_PAGE; } public String getQueryName() { return queryName; } public void setQueryName(String queryName) { this.queryName = queryName; } public String getModelName() { return modelName; } public void setModelName(String modelName) { this.modelName = modelName; } }