2020-05-03 07:23

public class MultiSourceFactory implements ISourceFactory {
public ISource getSource(String baseTemplatePath, String fileName, String encoding) {
try{
return new ClassPathSource(null, fileName, encoding);
}catch(Exception ex){
return new FileSource(baseTemplatePath, fileName, encoding);
}
}
}

2020-05-02 20:53

要增加一个复合的 isource实现,参考freemarker的MultiTemplateLoader。
内部有一个isource 列表,按顺序调用getTemplate,找到就返回。

2019-11-30 14:28

前端处理一下不就好了

2019-11-21 11:23

这个,List,Map之类的,能添加这种扩展方法不?没试过。

2019-10-26 20:25

org.beetl.sql ...

2019-09-28 13:54

centos7么,用docker运行更好

2019-09-19 07:30

var data = [{"userId":"ab","tel":"138"},{"userId":"ab","tel":"138"}];
var user = data.map(function(it){return it.userId}); // ["ab", "ab"]

2019-09-05 12:35

这种在页面中编辑/提交sql语句的,很危险

2019-09-05 07:52

好象可以用 Handler 来处理

2019-07-03 10:48

我们一般用nginx代理,ssl证书在nginx中配置,后端的应用就跑在http上

2019-05-10 17:06

<#function is_XXX_1 v>
<#return true />


<#function is_XXX_2 v>
<#return true />


<#function is_XXX_3 v>
<#return true />


<#if is_XXX_1(val) && is_XXX_2(val) && is_XXX_3(val)>
.....


象这样的代码,如果换成 #define 和 #set,不优雅啊(多出几个变量,页面多出空行输出,需额外调用)

#define is_XXX_1(1)
#set(v_XXX_1, true)
#end

#define is_XXX_2(1)
#set(v_XXX_2, true)
#end

#define is_XXX_3(1)
#set(v_XXX_3, true)
#end

#@is_XXX_1(val)
#@is_XXX_2(val)
#@is_XXX_3(val)

#if( v_XXX_1 && v_XXX_2 && v_XXX_3)
...
#end

2019-05-10 16:53

这些我知道啊,但#define不能返回一个值,shared object,shared method是需要修改java代码来实现的,如果能在模板中实现,就不需要写java代码了,系统更新、发布用一个命令 svn up就完成了。