Freemarker是一个模板框架。我们可以通过Freemarker进行代码生成或页面的静态生成。 现在简单的说一下怎样使用Freemarker Freemarker的主要生成类
创新互联专业提供西部信息服务器租用服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买西部信息服务器租用服务,并享受7*24小时金牌售后服务。
public boolean generate(String templateFileName, Map data,
String fileName) {
try {
//取得模板的位置
String templateFileDir=templateFileName.substring(0, templateFileName.lastIndexOf("/"));
//取得模板的名字
String templateFile=templateFileName.substring(templateFileName.lastIndexOf("/"), templateFileName.length());
//取得生成文件的路径
String genFileDir=fileName.substring(0, fileName.lastIndexOf("/"));
Template template = ConfigurationHelper.getConfiguration(templateFileDir).getTemplate(templateFile);
File fileDir=new File(genFileDir);
org.apache点抗 mons.io.FileUtils.forceMkdir(fileDir);
File output = new File(fileName);
if(output.exists()){
//如何代码已存在不重复生成
return false;
}
Writer writer = new FileWriter(output);
template.process(data, writer);
writer.close();
} catch (TemplateException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
代码中的Map 是模板所需要的数据,我们可以通过面向对像的方法把数据存在模板中public boolean genDaoInterface(String fileName){
DaoModel daoModel=new DaoModel();
//设置Dao实现类的包名
daoModel.setPackageName(DaoConstant.PACKAGE);
//取得接口名
String className=StringUtils.substringBefore(fileName,".");
//设置接口名
daoModel.setClassName(className);
MapString, Object data = new HashMapString, Object();
data.put("model", daoModel);
//设置生成的位置
String filePath=new String("src/"+package2path(DaoConstant.PACKAGE)+"/"+fileName);
//代码生成
return super.generate(DaoConstant.INTERFACE_TEMPLATE, data, filePath);
}
data.put("model", daoModel);由这句代码可看出我们将可以在模板中直接调用这些数据package ${model.packageName};
public interface ${model.className} extends BaseHibernateDao {
}
JNPF低代码开发平台可以以极少量代码或无代码的方式开发各种企业级管理系统,其特点如下:
1. web在线开发
低代码开发平台是个全Web可视化开发和运行架构,只要在web端网页就能开发,不需要安装配置复杂的本地开发环境;
2. 代码生成器
依托代码生成器,开发人员大大减少了代码编辑量,并且生成的代码还可下载拷贝应用,可根据需求进行个性化修改;
3. 工作流引擎
工作流引擎可以轻松快捷的搭建业务流程管理系统和协同交互管理体系,可随时按需更改流程逻辑以适应新需求;
4. 流程设计器
流程设计器集成了表单设计器和流程引擎,并支持线性流程、父子流程、同步分合流、异步分合流程,全部实现可视化设计;
5. 全源码交付
低代码开发平台提供商业化的全源码交付,可进行二次个性化开发,减少了代码编写,简化了开发流程,提升了开发效率;
6. 更新升级快速
如果需求发生变化,用户只需通过web端网页登录开发账号,调整相应的功能并发布即可,整个过程可能只需要几分钟便可完成;
7. 数据管理强大
低代码开发平台的数据处理功能十分强大,可自动生成各种报表,还可以以大屏的方式直观的呈现出实时的动态数据;
8. 缩减开发成本
传统的编程开发模式需要许多人来共同协作研发,现在运用低代码开发平台只需要两三个甚至一个人便可完成开发工作;
9. 部署方式灵活
平台的部署方式十分多样化,可实现公有云和私有云部署,也可进行本地化部署,以满足企业多变的差异化需求;
10. 快速开发SaaS
平台可以轻松快速地开发ERP、CRM、HRM、BPM、OA、财务管理等各类SaaS管理系统和业务管理系统,助力企业效益提升;
这便是JNPF低代码开发平台的主要特点和优势,其大大优于第三方定制开发以及企业自主探索开发等几种传统的开发方式。运用JNPF低代码开发平台,开发者可以高效快速的开发各种企业管理系统,并还可以进行各种子系统、子平台的开发拓展,以满足企业各种复杂的管理运营需求,同时系统的更新升级也十分敏捷方便。
3
推荐
ROSE 生成代码:首先要在Tools--Java/J2EE--Project Specification里面的classpath里面加入你要生成的代码的目的路径。然后选中一个或多个包/类,选择Tools--Java/J2EE--Generate Code,将目的路径assign给你要生成代码的包/类,点OK就可以生成代码了
这样生成的代码属性可能没有set/ get 方法,可以按下面的做:
在ROSE的TOOLS工具栏下面有一个OPEIONS...的.
点开以后选择JAVA,
在TYPE中选择ATTRIBUTE,
MODEL下面有一个PROPERTYTYPE,可以选择SIMPLE或者BOUND
那等你生成代码的时候就会自动增加SET和GET方法了