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 + -
显示快捷键?