ftl中使用java代码的简单介绍( 二 )


root.put(“tabletop”, tabletop); //表前缀
root.put(“nowDate”, new Date()); //当前日期
DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码
/* ============================================================================================= */
String filePath = “admin/ftl/code/”; //存放路径
String ftlPath = “createCode”; //ftl路径
/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
/*生成SQL脚本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
/*生成jsp页面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);
/*生成说明文档*/
Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印
/*生成的全部代码压缩成zip文件*/
FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);
/*下载代码*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);
}
}
Java项目中ftl和jsp可以同时并存么,属于功能模块的ftl不可以和jsp共存的,二者具有转化关系 。
freemarker(FTL)常见语法(JSP中的代码转化为ftl代码) 举例如下:
1、引入公共页面#include "params.ftl"
2、判断是否为空:#if (resultContext.pagination.resultList)??resultContext.pagination.resultList?size gt 0
3、集合遍历:
#list list as a
${a_index+1}
/#list
4、访问Java类中的静态方法
#if st == stack.findValue("@com.test.bo.SkuTag@NEW")#elseif st == stack.findValue("@com.test.bo.SkuTag@SPECIAL")
5、访问Request对象
${Request.effectType.infoName!'' }其他域对象比如:Session对象 貌似还是是${Session.*****}
6、使用其他标签如struts2标签:
引入tld:#assign ts=JspTaglibs["/skw-tags"] /使用:@ts.productPrice loginUrl="${ctxtPath}/login_jsp.html"/
使用java生成word文档中的ftl怎么写Java语言提供了一种强大的注释形式:文档注释 。可以将源代码里的文档注释提取成一份系统的API文档 。我们在开发中定义类、方法时可以先添加文档注释,然后使用javadoc工具来生成自己的API文档 。
文档注释以斜线后紧跟两个星号(/**)开始 , 以星号后紧跟一个斜线(*/)作为结尾,中间部分全部都是文档注释,会被提取到API文档中 。
自行搜索一下javadoc即可,示例如下:
1
2
3
4
5
6
7
8
9
10

推荐阅读