dhz
2022-06-22 935b4b66b99b1f022f82cdaef8e3ef6599afbc72
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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()));
        }
    }
}