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.JspTagException; import javax.servlet.jsp.tagext.TagSupport; import com.nfwork.dbfound.core.Context; import com.nfwork.dbfound.core.Transaction; public class InitProcedure extends TagSupport { private static final long serialVersionUID = -5941376965348919531L; public int doStartTag() throws JspTagException { // 开启事务 HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletResponse response = (HttpServletResponse) pageContext.getResponse(); Context context = Context.getCurrentContext(request, response); Transaction transaction = context.getTransaction(); transaction.begin(); return EVAL_BODY_INCLUDE; } public int doEndTag() throws JspException { // 提交关闭事务 HttpServletRequest request = (HttpServletRequest) pageContext.getRequest(); HttpServletResponse response = (HttpServletResponse) pageContext.getResponse(); Context context = Context.getCurrentContext(request, response); Transaction transaction = context.getTransaction(); transaction.commit(); transaction.end(); return EVAL_PAGE; } }