package cn.ksource.core.component; import java.util.List; import cn.ksource.core.util.StringUtil; import freemarker.template.TemplateMethodModel; import freemarker.template.TemplateModelException; /** * 页面截取字符串使用,left(10)表示截取前10位字符串,剩余的根据配置加入"..." */ public class LeftMethodModel implements TemplateMethodModel { /** * 参数说明: * 第一个参数-必须 string:需要截取的字符串,如果字符串为null,或字符串长度没有超过第二个参数的长度,则返回原值 * 第二个参数-必须 int:截取的字符串长度 * 第三个参数-可选 boolean:是否在后面加入"...",默认加入 */ public Object exec(List list) throws TemplateModelException { if (list.size() == 0) { return ""; } else if (list.size() ==1) { return list.get(0); } else if (list.size() == 2) { return StringUtil.subStr(list.get(0).toString(), Integer.valueOf(list.get(1).toString()), true); } else { return StringUtil.subStr(list.get(0).toString(), Integer.valueOf(list.get(1).toString()), Boolean.valueOf(list.get(2).toString())); } } }