⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listdoctemplateimpl.java~106~

📁 云网论坛CWBBS 源码,内容丰富,学习,参考,教学的好资料,具体见内说明,
💻 JAVA~106~
字号:
package cn.js.fan.module.cms;

import java.util.*;

import cn.js.fan.db.*;
import cn.js.fan.util.*;
import com.cloudwebsoft.framework.template.*;
import com.cloudwebsoft.framework.util.*;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ListDocTemplateImpl extends ListPart {
    String dirCode = "";
    String query = "";
    private int start;
    Paginator paginator;

    public ListDocTemplateImpl() {
    }

    public Paginator getPaginator() {
        return paginator;
    }

    public String toString() {
        if (steps == null)
            return "";

        dirCode = StrUtil.getNullStr((String) props.get("dirCode"));

        String s = (String) props.get("start");
        if (!StrUtil.isNumeric(s))
            throw new IllegalArgumentException("start:" + s +
                                               " is not a number");
        start = Integer.parseInt(s);
        String e = (String) props.get("end");
        if (!StrUtil.isNumeric(e))
            throw new IllegalArgumentException("end:" + e + " is not a number");
        end = Integer.parseInt(e);
        query = StrUtil.getNullStr((String)props.get("query"));

        Document doc = new Document();
        Iterator ir = null;
        int total = 0;
        if (!query.equals("")) {
            // @task:此处有问题
            total = doc.getDocCount(query);
            // doc.listResult(query, )
            ir = doc.list(query, start, end).iterator();
        }
        else {
            query = "select id from document where class1=" +
                    StrUtil.sqlstr(dirCode) +
                    " and examine=" + Document.EXAMINE_PASS +
                    " order by isHome desc, modifiedDate desc";
            total = doc.getDocCount(query);
          DocBlockIterator docir = doc.getDocuments(query, dirCode, start, end);
          ir = docir;
        }

        paginator = new Paginator(request, total, end - start);

        LogUtil.getLog(getClass()).info("query=" + query);

        StringBuffer buf = new StringBuffer();

        int n = 0;
        while (ir.hasNext()) {
            doc = (Document) ir.next();
            int nSteps = steps.size();
            // LogUtil.getLog(getClass()).info("nSteps=" + nSteps);

            for (int i = 0; i < nSteps; i++) {
                ITemplate step = (ITemplate) steps.get(i);
                // LogUtil.getLog(getClass()).info("step=" + step.getClass());
                if (step instanceof PaginatorPart) {
                    PaginatorPart pp = (PaginatorPart)step;
                    if ((n==1 || n==nSteps-1) && pp.writeCount==0) {
                        buf.append(pp.write(this));
                        pp.writeCount ++;
                    }
                    else
                        continue;
                }
                else if (step instanceof FieldPart) {
                    // LogUtil.getLog(getClass()).info("toString:" + step.getClass());
                    buf.append(((FieldPart) step).write(doc));
                } else if (step instanceof ListPart) {
                    ListPart listPart = (ListPart) step;
                    String dynName = listPart.getName();
                    buf.append("<!-- BEGIN:" + dynName + "-->\n");
                    buf.append(listPart);
                    buf.append("<!-- END:" + dynName + "-->\n");
                } else { // StaticPart or VariablePart or IgnoredPart
                    buf.append(step);
                }
            }
        }
        return buf.toString();
    }

    public void setStart(int start) {
        this.start = start;
    }

    public void setEnd(int end) {
        this.end = end;
    }

    public void setCurPageBlock(String curPageBlock) {
        this.curPageBlock = curPageBlock;
    }

    public int getStart() {
        return start;
    }

    public int getEnd() {
        return end;
    }

    public String getCurPageBlock() {
        curPageBlock = paginator.getCurPageBlock("");
        return curPageBlock;
    }

    private int end;
    private String curPageBlock;
}

⌨️ 快捷键说明

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