|
|
@ -7,6 +7,8 @@ import freemarker.template.Configuration;
|
|
|
|
import freemarker.template.Template;
|
|
|
|
import freemarker.template.Template;
|
|
|
|
import freemarker.template.TemplateException;
|
|
|
|
import freemarker.template.TemplateException;
|
|
|
|
import freemarker.template.TemplateExceptionHandler;
|
|
|
|
import freemarker.template.TemplateExceptionHandler;
|
|
|
|
|
|
|
|
import freemarker.template.TemplateMethodModelEx;
|
|
|
|
|
|
|
|
import freemarker.template.TemplateModelException;
|
|
|
|
import org.springframework.util.ClassUtils;
|
|
|
|
import org.springframework.util.ClassUtils;
|
|
|
|
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
|
|
|
|
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
|
|
|
|
|
|
|
|
|
|
|
@ -15,6 +17,7 @@ import java.io.FileOutputStream;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.OutputStreamWriter;
|
|
|
|
import java.io.OutputStreamWriter;
|
|
|
|
import java.io.Writer;
|
|
|
|
import java.io.Writer;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
public class FreeMarkerManager {
|
|
|
|
public class FreeMarkerManager {
|
|
|
|
private FreeMarkerConfigurer freeMarkerConfigurer;
|
|
|
|
private FreeMarkerConfigurer freeMarkerConfigurer;
|
|
|
@ -26,6 +29,7 @@ public class FreeMarkerManager {
|
|
|
|
cfg.setDefaultEncoding("UTF-8");
|
|
|
|
cfg.setDefaultEncoding("UTF-8");
|
|
|
|
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
|
|
|
|
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
|
|
|
|
cfg.setNumberFormat("0.##");
|
|
|
|
cfg.setNumberFormat("0.##");
|
|
|
|
|
|
|
|
cfg.setSharedVariable("print", new Print());
|
|
|
|
|
|
|
|
|
|
|
|
MultiTemplateLoader multiTemplateLoader = new MultiTemplateLoader(new TemplateLoader[]{
|
|
|
|
MultiTemplateLoader multiTemplateLoader = new MultiTemplateLoader(new TemplateLoader[]{
|
|
|
|
new ClassTemplateLoader(ClassUtils.getDefaultClassLoader(), "/modules"),
|
|
|
|
new ClassTemplateLoader(ClassUtils.getDefaultClassLoader(), "/modules"),
|
|
|
@ -59,4 +63,18 @@ public class FreeMarkerManager {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private class Print implements TemplateMethodModelEx {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public Object exec(List list) throws TemplateModelException {
|
|
|
|
|
|
|
|
if (list.size() == 1) {
|
|
|
|
|
|
|
|
return list.get(0);
|
|
|
|
|
|
|
|
} else if (list.size() > 1) {
|
|
|
|
|
|
|
|
return String.join(",", list);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|