学习资料介绍

github地址:mcg-helper代码生成工具

什么是 FreeMarker? - FreeMarker 中文官方参考手册

视频学习地址:

第一节、视频教程内容介绍   探讨研发工作中典型的重复繁杂工作,可通过流程自动化实现代替的常见场景。
第二节、mcg-helper初步认识教程    mcg-helper概述、核心设计、基本操作、工作原理、入门示例、使用场景等。
第三节、开始、文本、结束控件讲解   了解流程控件运行原理,介绍与演示控件的功能与作用。
第四节、data、json控件讲解    全局变量的使用、动态读取表结构信息、输出指定内容到文件。
第五节、js、java、python控件讲解    在流程中使用多种计算机语言,发挥各自优势,让流程更为灵活强大。
第六节、sql查询、sql执行控件讲解    实现常用关系型数据库的交互功能。
第七节、Linux、循环、子流程控件讲解   Linux SSH连接,流程循环功能,以及流程拆分复用与组合。
第八节、万能代码生成讲解    以一款java开源框架jeecg为例子,实现一键代码生成。

开始、文本、结束控件

开始控件

开始控件添加的变量名及值会根据箭头的指向传递到下一个控件,如图所示的属性变量名

在其它控件中可以通过${path}${fileName}的形式放到到这个动态设置的值。比如传递到文本控件,如下所示图:

文本控件

那么我们在文本控件中的设置如图所示:

然后在文本控件中的源代码中输入输入下内容:

这是输出的一段内容
${content}

结束控件

我们在结束控件的属性中添加如下内容:

第一个简单的测试流程例子
${name}

添加${name}的作用就是测试下 在开始控件添加的这个name变量名是不是一个全局变量名。

接下来我们点击流程菜单中的保存,点了保存后我们点击执行,来看下结果。

怎么查看运行的过程与结果呢?

我们点击如图所示:

比如我点击的开始控件下的这个按钮,那么就会控制台看到开始控件的运行值:

我们看下文本控件的控制台信息如下图所示:

从结果图可以看出,有传递给文本控件的参数,以及文本控件的创建文件的内容信息,在我的D盘对应的位置也创建了该txt文件。

接下来看下结束控件的运行结果如下:

一个大致的流程就是这样。

循环语句与判断语句

怎样在如上面的文本控件的源码中编写循环语句或者判断语句呢?

我在上面的文本控件的源码中编写如下代码:

这是输出的一段内容
${content} <#if name == 'mcg-helper'>
---- 你好,我是mcg-helper
<#else>
---- 请输入我的名字
</#if> <#assign max = 5>
<#list 1..max as t>
<#if t == 3>
---- 你好,我是数字编号3
<#else>
--- 你好,我是其它循环编号
</#if>
</#list>

在保存并执行,我们在控制台中看下执行结果如下:

一张图简单总结:

data控件、json控件

控件作用:

  • data控件作用:读取表结构信息;可动态调整数据。
  • json控件作用:定义复杂类型数据;参数扩展

js控件

该控件会执行main方法,传递上个控件返回的数据

var Console = Java.type('com.mcg.plugin.assist.Console');
var console = new Console(); function main(param) {
var result = {};
// 传递的param参数内容进行处理操作 最后返回结果到下一个控件
// 比如
result = JSON.parse(JSON.stringify(param));
result.addAttr = 'newatrr';
console.info(result);
return result;
}

web前端使用mcg-helper代码生成工具学习笔记的更多相关文章

  1. 《大巧不工 web前端设计修炼之道》学习笔记

    前端设计如同一个人的着装与外表,站点的设计总是最先吸引人们的眼球.布局是否合理.风格是否简介.配色是否和谐,流程是否通畅,操作是否便捷,这些前端特效都影响着用户对站点的认可度.随着用户体验,可用性,可 ...

  2. 2019最新WEB前端开发小白必看的学习路线(附学习视频教程)

    2019最新WEB前端开发小白必看的学习路线(附学习视频教程).web前端自学之路:史上最全web学习路线,HTML5是万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次 ...

  3. 零基础转行web前端,如何高效的去学习web前端

    web前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而且互联网时代不 ...

  4. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  5. 《编写高质量代码--Web前端开发修炼之道》读书笔记

    前言 这两周参加公司的新项目,采用封闭式开发(项目成员在会议室里开发),晚上加班到很晚,所以没时间和精力写原创博客了,今天就分享下这篇<编写高质量代码--Web前端开发修炼之道>读书笔记吧 ...

  6. 4. web前端开发分享-css,js工具篇

    web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...

  7. web前端开发分享-css,js工具篇

    web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...

  8. 给Web前端初学者的一些建议和学习路线

    做web前端开发能有10多年的时间,晚上编辑一篇文章,给初学者说一些建议.   学习 HTML,CSS 应该先跟着基础的视频学一遍.然后就需要做大量的练习,案例,案例是非常重要的,应用到实处,做各种常 ...

  9. 【你的职业规划】web前端的职业发展方向及学习攻略【转载】

    web前端的职业发展方向有哪些?本文献给正在迷茫中,准备入坑web前端的初学者以及知海匠库web前端培训班的准前端工程师们:   一.职业方向定位 首先,只有确定好自己的职业方向,才能做好职业规划.在 ...

  10. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

随机推荐

  1. CF414B

    这道题dp状态表示需要一点思维,而且会卡到时间复杂度 之前题主用的是试除法,时间复杂度为n^2.5,然后被卡了,但是换一种写法就是对的 #include <iostream> #inclu ...

  2. 洛谷P1378

    这道题需要处理的信息比较多,需要注意的是一个油滴扩展后可能会包含其他的点 #include <iostream> #include <utility> #include < ...

  3. 使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类就这么简单!

    前言 今天大姚给大家分享一个.NET开源.免费.跨平台(支持Windows.Linux.macOS多个操作系统)的机器学习框架:ML.NET.并且本文将会带你快速使用ML.NET训练一个属于自己的图像 ...

  4. HINT: It seems you set a fixed date / time / datetime value as default for this field. This may not be what you want. If you want to have the current date as default, use `django.utils.timezone.now`

    WARNINGS: customers.PackingHead.packing_date: (fields.W161) Fixed default value provided. HINT: It s ...

  5. [oeasy]python0078_设置索引颜色_index_color_ansi_控制终端颜色

    更多颜色 回忆上次内容 上次 了解了 高亮颜色 91-97 是 高亮 前景色 101-107是 高亮 背景色 颜色种类 在原来基础上 增加了一些 但也非常有限 还想要 更精细的颜色 有可能吗?? 更多 ...

  6. AT_arc111_a 题解

    洛谷连接&Atcoder 链接 题目简述 给定两个数 \(n\) 和 \(m\),输出 \(\left\lfloor\frac{10^n}{m}\right\rfloor \bmod m\) ...

  7. 逆向动态加载Dex(内存加载class)

    逆向一个app, 其核心算法是通过反射调用的, 反编译软件中无法找到该类, 并且也无法hook. Java.perform(function(){ Java.enumerateClassLoaders ...

  8. 【C3】06 选择器概述

    CSS中,选择器用来指定网页上我们想要样式化的HTML元素. CSS选择器有很多种可供使用,所以在选择要样式化的元素时,我们可以做到很精细的地步. 本文和本文的子篇中,我们将会很详细地讲授选择器不同的 ...

  9. 【Git】下载安装(Linux)

    安装CentOS8貌似有自带Git 可以先查看一下有没有 git --version 有或者没有都行,有的话安装就当是更新 没有就装,yum提供了安装,我们不需要自己压缩包安装了 yum instal ...

  10. MindSpore框架 加载文本数据集 示例

    代码原地址: https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/use/load_dataset_text.html ============ ...