dirtemplateimpl.java

来自「cwbbs 云网论坛源码」· Java 代码 · 共 174 行

JAVA
174
字号
package cn.js.fan.module.cms.template;import java.util.*;import cn.js.fan.db.*;import cn.js.fan.util.*;import cn.js.fan.web.*;import com.cloudwebsoft.framework.template.*;import cn.js.fan.module.cms.Document;import javax.servlet.http.HttpServletRequest;import cn.js.fan.module.cms.LeafChildrenCacheMgr;import cn.js.fan.module.cms.Leaf;public class DirTemplateImpl extends ListPart {    String dirCode = "";    public DirTemplateImpl() {    }    public String toString(HttpServletRequest request, List params) {        if (steps == null)            return "";                dirCode = StrUtil.getNullStr((String) props.get("dirCode"));        String dir = dirCode;        if (dirCode!=null) {           if (dirCode.startsWith("request")) {               int p = dirCode.indexOf(".");               if (p != -1) {                   String param = dirCode.substring(p + 1);                                      dir = ParamUtil.get(request, param);               }           }           else if (dirCode.equals("auto")) {                              int id = ParamUtil.getInt(request, "id", -1);               if (id==-1) {                   id = StrUtil.toInt((String)request.getAttribute("id"), -1);                }               if (id == -1) {                   dir = ParamUtil.get(request, "dirCode");               } else {                   Document doc = new Document();                   doc = doc.getDocument(id);                   dir = doc.getDirCode();                   Leaf lf = new Leaf();                   lf = lf.getLeaf(dir);                                      dir = lf.getParentCode();               }           }        }                if (dir.equals("")) {            dir = (String)request.getAttribute("dirCode");        }        if (dir==null || dir.equals(""))            throw new IllegalArgumentException("DirTemplateImpl " + getName() + "'s Leaf of dirCode=" + dirCode + " is null or empty.");                String parent = (String)props.get("parent");        if (parent!=null) {            if (parent.equalsIgnoreCase("y") || parent.equalsIgnoreCase("true")) {                Leaf lf = new Leaf();                lf = lf.getLeaf(dir);                if (lf==null)                    throw new IllegalArgumentException("DirTemplateImpl " + getName() + "'s Leaf of dirCode=" + dirCode + " is null.");                dir = lf.getParentCode();            }        }                LeafChildrenCacheMgr lccm = new LeafChildrenCacheMgr(dir);        Vector v = lccm.getDirList();        Iterator ir = v.iterator();                StringBuffer buf = new StringBuffer();                cn.js.fan.module.cms.Config cfg = new cn.js.fan.module.cms.Config();        boolean isHtml = cfg.getBooleanProperty("cms.html_doc");        while (ir.hasNext()) {            Leaf lf = (Leaf) ir.next();            if (lf.getIsHome()) {                int nSteps = steps.size();                                for (int i = 0; i < nSteps; i++) {                    ITemplate step = (ITemplate) steps.get(i);                                        if (step instanceof FieldPart) {                                                FieldPart fp = (FieldPart)step;                                                if (fp.getName().equalsIgnoreCase("linkUrl")) {                                                        if (isHtml) {                                if (Global.virtualPath.equals(""))                                    buf.append("/" + lf.getListHtmlNameByPageNum(request, 1));                                else                                    buf.append("/" + Global.virtualPath + "/" + lf.getListHtmlNameByPageNum(request, 1));                            }                            else {                                buf.append(request.getContextPath() + "/doc_list_view.jsp?dirCode=" + StrUtil.UrlEncode(lf.getCode()));                            }                        }                        else if (fp.getName().equalsIgnoreCase("logo")) {                            if (!lf.getLogo().equals("")) {                                                                                                buf.append("<a href='");                                if (isHtml) {                                    if (Global.virtualPath.equals(""))                                        buf.append(                                                "/" +                                                lf.                                                getListHtmlNameByPageNum(request,                                                1));                                    else                                        buf.append(                                                "/" + Global.virtualPath + "/" +                                                lf.getListHtmlNameByPageNum(                                                request, 1));                                }                                else {                                    buf.append(request.getContextPath() + "/doc_list_view.jsp?dirCode=" + StrUtil.UrlEncode(lf.getCode()));                                }                                buf.append("'>");                                buf.append("<img border=0 src='" +                                           request.getContextPath() + "/" +                                           lf.getLogo() + "'/>");                                buf.append("</a>");                            }                        }                        else {                                                        buf.append(((FieldPart) step).write(lf));                        }                    } else if (step instanceof ListPart) {                        request.setAttribute("curDirCode", lf.getCode());                        ListPart listPart = (ListPart) step;                        String dynName = listPart.getName();                        buf.append("<!-- BEGIN:" + dynName + "-->\n");                        buf.append(listPart.toString(request, null));                        buf.append("<!-- END:" + dynName + "-->\n");                    } else {                         buf.append(step.toString(request, null));                    }                }            }        }        return buf.toString();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?