/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.component.support.web.webwork; import java.util.ArrayList; import java.util.List; import com.jinhe.tss.core.web.dispaly.SuccessMessageEncoder; import com.jinhe.tss.core.web.dispaly.tree.TreeEncoder; import com.jinhe.tss.core.web.dispaly.xmlhttp.XmlHttpEncoder; /** * <p> PTActionSupport.java </p> * */ public abstract class PTActionSupport extends BaseActionSupport { private static final String DEFAULT_SUCCESS_MSG = "操作成功!"; private static final Integer TRUE = new Integer(1); protected Integer isNew; // 是否新建 protected boolean isCreateNew() { return TRUE.equals(isNew); } /** * 在action调用service进行保存操作后执行 * @param isNew * 是否新增节点。如果是新增,则返回新增的树形式节点。 * @param returnObj * @param treeName */ protected String doAfterSave(boolean isNew, Object returnObj, String treeName){ return doAfterSave(isNew, returnObj, treeName, DEFAULT_SUCCESS_MSG); } protected String doAfterSave(boolean isNew, Object returnObj, String treeName, String successMsg){ if(isNew){ List<Object> list = new ArrayList<Object>(); list.add(returnObj); TreeEncoder encoder = new TreeEncoder(list); encoder.setNeedRootNode(false); return print(treeName, encoder); } return printSuccessMessage(successMsg); } /** * 向客户端输出信息 * @param returnDataName * @param value */ protected String print(String returnDataName, Object value){ XmlHttpEncoder xmlHttpEncoder = new XmlHttpEncoder(); xmlHttpEncoder.put(returnDataName, value); xmlHttpEncoder.print(getWriter()); return XML; } /** * 向客户端输出信息 * @param returnDataNames * @param values */ protected String print(String[] returnDataNames, Object[] values){ XmlHttpEncoder xmlHttpEncoder = new XmlHttpEncoder(); for(int i = 0; i < returnDataNames.length; i++){ xmlHttpEncoder.put(returnDataNames[i], values[i]); } xmlHttpEncoder.print(getWriter()); return XML; } /** * 向客户端输出一条成功信息 */ protected String printSuccessMessage(){ return printSuccessMessage(DEFAULT_SUCCESS_MSG); } /** * 向客户端输出一条成功信息 */ protected String printSuccessMessage(String str){ new SuccessMessageEncoder(str).print(getWriter()); return XML; } /** * 生成分页信息 */ protected String generatePageInfo(int totalRows, int page, int pagesize, int currentPageRows) { int totalPages = totalRows / pagesize; if(totalRows % pagesize != 0){ totalPages ++; } StringBuffer sb = new StringBuffer("<pagelist totalpages=\"").append(totalPages).append("\" totalrecords=\""); sb.append(totalRows).append("\" currentpage=\"").append(page).append("\" pagesize=\"").append(pagesize); sb.append("\" currentpagerows=\"").append(currentPageRows).append("\" />"); return sb.toString(); } public void setIsNew(Integer isNew) { this.isNew = isNew; } }