2019-07-08-day4-代码生成器
1.模板技术
1.1.简介
velocity-1.6.3.jar 默认模板的后缀vm
freemarker-2.2.19.jar 默认模板的后缀ftl
1.2.模板技术和jsp的异同
第一次jsp执行流程:jsp转译为java文件,编译为class文件
第2-n次jsp(没有修改)执行流程:直接访问class文件
apache-tomcat-8.x\work\Catalina\localhost_\org\apache\jsp\WEB_002dINF\views\employee
1.3.Struts2的主题样式使用freemarker完成的
jsp页面数据显示一般都是使用struts的标签库,标签库的内部的处理就是使用freemarker
struts2-core-2.x.jar\template\simple项目使用主题
1.4.模板技术怎样输出数据
数据(struts2的值栈)+模板(html文件,vm文件,ftl文件)=输出文本
pss05-代码生成器+角色权限管理\资料\velocity-1.7\docs\developer-guide.html开发指南,代码
1.5.Velocity模板技术可以实现的功能
动态页面静态化:xxx.html
在后台准备数据,在前台准备模板,通过IO把数据与模板合并,真正的生成一个html页面出来
用作发送邮件、短信模板
代码生成器(今天要完成的代码生成器)
1.6.pom.xml:添加jar文件
org.apache.velocity velocity 1.6 1.7.Hello Velocity 1.7.1.VelocityTest package cn.itsource.pss;import java.io.StringWriter;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.junit.Test;
/**
-
测试Velocity功能
*/
public class VelocityTest {
@Test
public void testVelocity01() throws Exception {
//创建模板应用上下文
VelocityContext context = new VelocityContext();
context.put(“msg”, “小张是个好同志”);
//拿到相应的模板(需要设置好编码)
Template template = Velocity.getTemplate(“temptest/hello.html”,“UTF-8”);
//准备输出流
StringWriter writer = new StringWriter();
template.merge(context, writer);
System.out.println(writer);
}@Test
public void testVelocity02() throws Exception {
//创建模板应用上下文
VelocityContext context = new VelocityContext();
context.put(“msg”, “小张是个好同志”);
//拿到相应的模板(需要设置好编码)
Template template = Velocity.getTemplate(“temptest/hello.html”,“UTF-8”);
//准备输出流
File file = new File(“temptest/helloNew.html”);
FileWriter writer = new FileWriter(file);
template.merge(context, writer);
writer.close();
}
}
1.7.2.temptest /hello.html
其它的功能我们可以参见咱们的PDF文档进行学习
2.代码生成器
1.模板技术
1.1介绍
市场上常见的
velocity-1.6.3.jar 默认模板的后缀vm
freemarker-2.2.19.jar 默认模板的后缀ftl
今天学习的是velocity
1.2 Velocity模板技术可以实现的功能
动态页面静态化:xxx.html
在后台准备数据,在前台准备模板,通过IO把数据与模板合并,真正的生成一个html页面出来
用作发送邮件、短信模板
代码生成器(今天要完成的代码生成器)
代码:
2.代码生成器
2.1安装插件Easy Code最新版
2.2更改设置
2.3新增模板
2.4连接数据库
2.5路径
生成代码后测试
3.权限设计