Freemarker是一個模板框架。我們可以通過Freemarker進行代碼生成或頁面的靜態(tài)生成。 現(xiàn)在簡單的說一下怎樣使用Freemarker Freemarker的主要生成類
創(chuàng)新互聯(lián)專業(yè)提供西部信息服務(wù)器租用服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買西部信息服務(wù)器租用服務(wù),并享受7*24小時金牌售后服務(wù)。
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()){
//如何代碼已存在不重復(fù)生成
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 是模板所需要的數(shù)據(jù),我們可以通過面向?qū)ο竦姆椒ò褦?shù)據(jù)存在模板中public boolean genDaoInterface(String fileName){
DaoModel daoModel=new DaoModel();
//設(shè)置Dao實現(xiàn)類的包名
daoModel.setPackageName(DaoConstant.PACKAGE);
//取得接口名
String className=StringUtils.substringBefore(fileName,".");
//設(shè)置接口名
daoModel.setClassName(className);
MapString, Object data = new HashMapString, Object();
data.put("model", daoModel);
//設(shè)置生成的位置
String filePath=new String("src/"+package2path(DaoConstant.PACKAGE)+"/"+fileName);
//代碼生成
return super.generate(DaoConstant.INTERFACE_TEMPLATE, data, filePath);
}
data.put("model", daoModel);由這句代碼可看出我們將可以在模板中直接調(diào)用這些數(shù)據(jù)package ${model.packageName};
public interface ${model.className} extends BaseHibernateDao {
}
JNPF低代碼開發(fā)平臺可以以極少量代碼或無代碼的方式開發(fā)各種企業(yè)級管理系統(tǒng),其特點如下:
1. web在線開發(fā)
低代碼開發(fā)平臺是個全Web可視化開發(fā)和運行架構(gòu),只要在web端網(wǎng)頁就能開發(fā),不需要安裝配置復(fù)雜的本地開發(fā)環(huán)境;
2. 代碼生成器
依托代碼生成器,開發(fā)人員大大減少了代碼編輯量,并且生成的代碼還可下載拷貝應(yīng)用,可根據(jù)需求進行個性化修改;
3. 工作流引擎
工作流引擎可以輕松快捷的搭建業(yè)務(wù)流程管理系統(tǒng)和協(xié)同交互管理體系,可隨時按需更改流程邏輯以適應(yīng)新需求;
4. 流程設(shè)計器
流程設(shè)計器集成了表單設(shè)計器和流程引擎,并支持線性流程、父子流程、同步分合流、異步分合流程,全部實現(xiàn)可視化設(shè)計;
5. 全源碼交付
低代碼開發(fā)平臺提供商業(yè)化的全源碼交付,可進行二次個性化開發(fā),減少了代碼編寫,簡化了開發(fā)流程,提升了開發(fā)效率;
6. 更新升級快速
如果需求發(fā)生變化,用戶只需通過web端網(wǎng)頁登錄開發(fā)賬號,調(diào)整相應(yīng)的功能并發(fā)布即可,整個過程可能只需要幾分鐘便可完成;
7. 數(shù)據(jù)管理強大
低代碼開發(fā)平臺的數(shù)據(jù)處理功能十分強大,可自動生成各種報表,還可以以大屏的方式直觀的呈現(xiàn)出實時的動態(tài)數(shù)據(jù);
8. 縮減開發(fā)成本
傳統(tǒng)的編程開發(fā)模式需要許多人來共同協(xié)作研發(fā),現(xiàn)在運用低代碼開發(fā)平臺只需要兩三個甚至一個人便可完成開發(fā)工作;
9. 部署方式靈活
平臺的部署方式十分多樣化,可實現(xiàn)公有云和私有云部署,也可進行本地化部署,以滿足企業(yè)多變的差異化需求;
10. 快速開發(fā)SaaS
平臺可以輕松快速地開發(fā)ERP、CRM、HRM、BPM、OA、財務(wù)管理等各類SaaS管理系統(tǒng)和業(yè)務(wù)管理系統(tǒng),助力企業(yè)效益提升;
這便是JNPF低代碼開發(fā)平臺的主要特點和優(yōu)勢,其大大優(yōu)于第三方定制開發(fā)以及企業(yè)自主探索開發(fā)等幾種傳統(tǒng)的開發(fā)方式。運用JNPF低代碼開發(fā)平臺,開發(fā)者可以高效快速的開發(fā)各種企業(yè)管理系統(tǒng),并還可以進行各種子系統(tǒng)、子平臺的開發(fā)拓展,以滿足企業(yè)各種復(fù)雜的管理運營需求,同時系統(tǒng)的更新升級也十分敏捷方便。
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方法了
分享文章:java代碼在線生成 java 代碼生成器 開源
文章路徑:http://www.rwnh.cn/article8/ddgosop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、用戶體驗、網(wǎng)站策劃、網(wǎng)頁設(shè)計公司、品牌網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)