这里做一个简单的示例DEMO,实现一键打包zip,提供一种解决方案,实际需求可以按需所改,代码就三四个文件不上传上来了,下面贴出完整代码:
文件目录如下:
实体类User.java
省略 getter 和 setter 方法
package com.fun.demo.model;
/**
* @author MrDJun 2020/10/21
*/
public class User {
private Integer age;
private String name;
public User(Integer age, String name) {
this.age = age;
this.name = name;
}
public User(){}
}
VelocityUtils.java
package com.fun.demo.tool;
import com.fun.demo.model.User;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.commons.io.IOUtils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Properties;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* @author MrDJun 2020/10/21
*/
public class VelocityUtils {
private final static Logger log = LoggerFactory.getLogger(VelocityUtils.class);
public static String previewCode() {
initVelocity();
User user = new User(18, "mrdjun");
VelocityContext context = VelocityUtils.prepareContext(user);
StringWriter sw = new StringWriter();
Template tpl = Velocity.getT