📄 listdoctemplateimpl.java
字号:
package cn.js.fan.module.cms.template;
import java.util.*;
import cn.js.fan.db.*;
import cn.js.fan.util.*;
import com.cloudwebsoft.framework.template.*;
import com.cloudwebsoft.framework.util.*;
import cn.js.fan.module.cms.Document;
/**
* <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;
public ListDocTemplateImpl() {
}
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);
ir = doc.getDocuments(query, dirCode, start, end);
}
paginator = new Paginator(request, total, end - start);
LogUtil.getLog(getClass()).info("query=" + query);
StringBuffer buf = new StringBuffer();
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 ((i==0 || !ir.hasNext()) && pp.writeCount==0) {
buf.append(pp.write(this));
}
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 + -