TaskBuilder常见页面前后端数据交互原理解析

taskbuilder
• 阅读 2

TaskBuilder常见页面前后端数据交互原理解析 TaskBuilder主要用来开发数据库增删改查的应用,下面以第五章里创建的那个学员管理项目为例,介绍一下在常见的页面里怎么实现前后端数据交互。 4.6.1数据列表页面前后端交互原理解析 数据列表页面主要通过数据表格组件与后台服务进行通讯,在数据表格组件的属性中,可以通过“数据查询设置”和“数据删除设置”实现列表数据的查询和删除,现在以学员管理项目里的index.tfp页面为例,给大家详细介绍一下,请先在TaskBuilder里打开学员管理项目前端文件里的index.tfp,然后选中页面里的数据表格组件grid1,然后再按下面的文档执行操作。 4.6.1.1数据查询实现原理解析 (1)设置数据查询参数 点击数据表格组件grid1属性设置里的“数据查询设置”,可以看到如下所示的对话框: TaskBuilder常见页面前后端数据交互原理解析 在该对话框中,可以选择查询数据的方式,支持数据模型、数据表单、后台服务、SQL语句和HTTP请求等多种方式,具体区别见前面的介绍。默认采用“数据模型”的方式,需要先选择需要查询的数据模型,选择好后,就会在下面显示该模型中的字段列表,然后可以在该列表中勾选需要查询的字段,如果要关联其他表查询数据,可以点“添加关联字段”设置需要关联的字段信息。 另外,点击该对话框里的“请求参数”选项卡,可以设置页面里哪些输入项的值可以作为请求参数发给后台服务,设置界面如下图所示: TaskBuilder常见页面前后端数据交互原理解析 上图的请求参数设置,表示在查询表格数据时,会将页面里编号为pxnf、qs、xm的这三个组件的值发送给后台服务,以便在查询条件里作为查询参数使用。 点击“查询条件”选项卡,可以在此设置在后台服务里查询数据时使用的具体查询条件,包括固定查询条件和动态查询条件,固定查询条件就是指在每次查询数据时都会使用的查询条件,而动态查询条件是指当客户端传递了对应的参数时就使用该条件查询,如果没有传该参数,则不用该条件查询,设置界面如下图所示: TaskBuilder常见页面前后端数据交互原理解析 从上图可以看到,动态查询条件里的参数名称必须和前面请求参数里设置的参数名保持一致。在固定查询条件和动态查询条件的表达式里(SQL查询语句的WHERE条件),可以用 {req.参数名} 的形式插入参数值,如果要模糊查询,则参数值可以使用 {%req.参数名%} ,多个动态查询条件是 与 的关系,即有几个条件的参数有值,则这几个条件就必须都满足。 以上参数正常是在使用 前端资源创建向导 创建该页面时就自动配置好的,并根据这些参数生成了对应的后台服务文件:index_grid1_query.tbs。如果后面修改了这些参数,在保存该页面时,就会自动重新生成对应的后台服务文件,覆盖原来的文件。 在学员管理项目的后台服务里点击index_grid1_query.tbs文件(如果看不到,请在学员管理项目的后台服务节点上点鼠标右键,然后点刷新),会在后台服务设计器里打开,界面如下: TaskBuilder常见页面前后端数据交互原理解析 从上图可以看到,在该后台服务中添加了一个数据查询语句,并在其回调函数里面将查询结果保存到res对象中,然后终止服务,将查询结果返回给客户端。 点击数据查询语句的设置按钮,可以打开数据查询设置对话框,界面如下: TaskBuilder常见页面前后端数据交互原理解析 默认显示的基本信息,包括数据模型、翻页设置、查询数量、重复设置和查询结果参数等。 点击 查询字段 选项卡,可以查看具体查询了哪些字段及字段的详细设置,界面如下: TaskBuilder常见页面前后端数据交互原理解析 点击 动态查询参数 选项卡,可以查看该查询具体设置了哪些动态查询条件,界面如下: TaskBuilder常见页面前后端数据交互原理解析 点击 固定查询条件 选项卡,可以查看该查询具体设置了哪些固定查询条件,界面如下: TaskBuilder常见页面前后端数据交互原理解析 在创建学员管理项目的数据查询页面时,并没有设置固定的查询条件,所以这里是空的。 点击 排序条件 选项卡,可以查看该查询具体设置了哪些排序条件,界面如下: TaskBuilder常见页面前后端数据交互原理解析 这里的设置都是在创建或保存页面时自动生成的,请不要在此手动修改。 (2)设置数据表格的列 点击数据表格组件grid1属性设置里的“数据列设置”,可以打开“数据列设置”对话框,点击该对话框左下角的加号按钮,可以添加列,在左侧列表里选中指定的列,在中间列表里可以选择该列的参数分类,包括基本信息、文本设置(根据内容类型动态变化,例如如果是按钮,则会变成按钮设置)、排序设置、显示条件和行转列设置等,在右侧设置详细参数,界面如下: TaskBuilder常见页面前后端数据交互原理解析 其中,最重要的一个参数就是“数据绑定表达式”,在此可以设置在该列里要显示的内容格式,可以用 {字段名} 的形式绑定在上面第(1)步里查询的任意字段,可以多个字段组合,或者和固定的字符串值组合,例如:{pxnf}年第{qs},如果查询结果里当前行的pxnf字段值为“2024”,qs字段的值为“2期”,则这一行这一列最终显示的内容为:2024年第2期。 上面的数据绑定设置也可以用 #[js表达式] 的形式实现,这种形式能实现更复杂的功能,操作步骤如下: 先在页面的JS脚本里创建一个名为 getInfo(pxnf, qs) 的函数,函数的代码如下: function getInfo(pxnf, qs) { return pxnf+'年第'+qs; //根据传入的pxnf和qs参数,返回拼接后的字符串 } 然后将该列的数据绑定表达式设置为:#[ getInfo({pxnf}, '{qs}') ] ,这样设置后,在进行该列的数据绑定时,就会调用 getInfo(pxnf, qs) 这个函数,并将当前行的pxnf和qs这两个字段的值传入,然后将返回的值绑定到该单元格中,其中qs 字段的值里包含“期”字,不是纯数值,所以在绑定表达式里,这个字段的大括号外面还需要加单引号,否则会执行报错。 上面只是使用 #[js表达式] 这种形式实现的一个简单的示例,实际可以根据需求实现更复杂的功能,例如数据库里存储的性别值是0和1,0表示男,1表示女,则在列表里,就可以创建一个函数,传入性别值,然后在函数里判断,如果性别值等于0,就返回字符串:“男”,否则返回字符串:“女”,然后性别这一列的数据绑定格式就可以用 #[ 函数名( {性别字段名} ) ] 这种形式实现根据不同的值显示不同的内容。当然,这种情况也可以使用条件显示实现,后面介绍数据表格组件时会详细介绍。 (3)设置查询按钮的事件 TaskBuilder常见页面前后端数据交互原理解析 在index.tfp页面里选中页面顶部面板里的 查询 按钮,点击右侧的 事件 设置选项卡,双击 点击时 事件输入框,就会看到如上所示的脚本设置界面,里面的这条语句在前端语句库的 组件操作 内,意思就是当用户点击 查询 按钮时,调用数据表格组件grid1的 reloadData() 方法重新加载数据,该方法执行时,会向查询当前表格数据的后台服务重新发起请求,并自动判断页面顶部面板里的培训年份(组件编号为pxnf)、期数(组件编号为qs)和姓名(组件编号为xm)这几个输入项是否有值,如果有就作为请求参数发送给后台,然后将查询结果绑定到数据表格中。 (4)请求后台服务查询并显示数据 在TaskBuilder里预览页面或者在浏览器里打开页面时,等页面加载完所有静态内容并解析渲染完毕后,数据表格组件会自动请求数据查询设置里对应的后台服务查询表格的数据,并将查询结果绑定到表格中。 4.6.1.2打开添加页面实现原理 TaskBuilder常见页面前后端数据交互原理解析 在index.tfp页面里选中顶部面板里的 添加 按钮,点击右侧的 事件 设置选项卡,双击 点击时 事件输入框,会看到如上所示的脚本设置界面,从上图可知,点击添加按钮后,会执行打开抽屉页的操作,该语句在前端语句库的 抽屉页操作 里,在该语句的设置面板里可以设置抽屉页的标题和路径,这里添加页面的路径默认为“add.tfp”。 4.6.1.3打开修改页面实现原理 打开修改页面的设置要稍微复杂一些,需要先设置好脚本函数,然后再去数据表格的数据列设置里设置修改这一列的参数,具体操作步骤如下: 点击前端页面设计器底部的 JS脚本 选项卡,在左侧函数列表里点击grid1_update_onClick 这个函数,可以看到如下图所示的脚本设置界面: TaskBuilder常见页面前后端数据交互原理解析 跟打开添加页面一样,修改页也是采用抽屉页的形式打开,但是,这里设置的页面路径不是固定的一个地址,而是一个变量url,因为打开修改页面时,不仅需要提供修改页面文件的路径,还需要在URL路径里传入要修改的学员信息的id,以便修改页面根据该id查询要修改的学员的信息,所以上面的这个函数设置了一个名为url的参数,该参数的值在数据表格的修改这一列里设置,具体设置方法如下: 在页面里选中数据表格组件grid1,点击属性里的 数据列设置 ,打开如下所示对话框: TaskBuilder常见页面前后端数据交互原理解析 在左侧的列表里选中 修改 这一列,在右侧的基本信息设置里可以看到,在 点击后执行的脚本 输入框里有如下脚本: grid1_update_onClick('update.tfp?id={id}') 该脚本里就是调用上面创建的那个函数,传入修改页面的路径,并且在URL路径里传入当前行的学员信息id值,这样就可以实现点击哪一行的修改按钮,就会打开修改页面显示这一行的学员信息,并可以对这个学员的信息进行修改。 4.6.1.4数据删除实现原理 (1)设置数据主键字段名 在数据表格组件grid1的属性里设置 数据主键字段名,以便后续在表格里点击删除按钮时,知道要给后台传哪个字段名,例如,学员管理示例项目里,主键字段名为id,则设置界面如下: TaskBuilder常见页面前后端数据交互原理解析 (2)设置数据删除参数 点击数据表格组件grid1属性设置里的“数据删除设置”,会打开如下所示对话框: TaskBuilder常见页面前后端数据交互原理解析 在此可以设置删除数据的SQL语句的WHERE条件,里面可以用 {req.参数名} 的形式插入客户端发送的请求参数。 在此设置好数据删除有关的参数后,保存页面时,就会自动生成对应的删除数据的后台服务文件,展开学员管理项目的后台服务节点,在里面可以看到一个名为 index_grid1_delete.tbs 的后台服务文件,点击该文件,即可在后台服务设计器里打开,界面如下: TaskBuilder常见页面前后端数据交互原理解析 从上图可以看到,在该后台服务中,有一条 数据删除 语句,执行完后就终止后台服务。 点击数据删除语句的设置按钮,可以打开数据删除设置对话框,界面如下: TaskBuilder常见页面前后端数据交互原理解析 这里的设置实际就是在数据表格的数据删除设置里设置的参数,保存页面后自动生成的。 (3)设置删除按钮 在数据表格组件grid1的属性设置里点击 数据列设置 ,打开如下图所示的对话框,在最左侧列表里选中 删除 这一列,在右侧的基本信息设置里可以看到,这一列的内容类型为 按钮,参数 点击后执行的脚本 设置成了如下所示的JavaScript脚本: grid1.deleteRowData({id}) 以上脚本就是调用数据表格组件的 deleteRowData() 方法来实现表格数据的删除。

TaskBuilder常见页面前后端数据交互原理解析

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Canal简介及配置说明
1.简介canal是纯Java开发的,基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql。原理相对比较简单:1.1.canal模拟mysqlslave的交互协议,伪装自己为mysqlslave,向mysqlmaster发送dump协议2.2.mysqlmaster收到dump请
Stella981 Stella981
3年前
AJAX学习笔记(五、AJAX+JSON与Servlet前后端交互)
前后端分离实现前后端分离的好处就不用多说了,前后端那么JavaWeb项目前后端分离是怎么实现的呢?1.浏览器发送请求2.直接到达html页面(前端控制路由与渲染页面,整个项目开发的权重前移)3.html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据,json数据格式因为简洁高效而取代xml)
Stella981 Stella981
3年前
Spring Security使用详解6(自定义登录页、接口、结果)
在之前的所有样例中,登录表单一直都是使用SpringSecurity提供的默认登录页,登录成功后也是默认的页面跳转。有时我们想要使用自定义的登录页,或者在前后端分离的开发方式中,前后端的数据交互通过JSON进行,这时登录成功后就不是页面跳转了,而是一段JSON提示。下面通过样例演示如何进行登录表单的个性化配置。六、自定义登录页面、
taskbuilder taskbuilder
1个月前
创建学员信息列表页面
4、创建学员信息列表页面在TaskBuilder的项目资源管理器内,点击学员管理项目节点(xygl)里的“前端文件”子节点右侧的加号:会弹出如下所示的前端资源创建向导的对话框:在该对话框中选择“数据查询TFP”,资源名称会自动设置为:index(这里建议不
taskbuilder taskbuilder
4星期前
创建学员信息修改页面
6、创建学员信息修改页面在TaskBuilder的项目资源管理器内,点击学员管理项目节点(xygl)里的“前端文件”子节点右侧的加号:会弹出如下所示的“添加前端资源”的对话框:在“资源名称”输入框内输入:update,然后在下面的资源类型列表里点击“数据修
taskbuilder taskbuilder
1星期前
TaskBuilder前端页面UI界面设计
TaskBuilder前端页面UI界面设计为了方便大家快速设计前端页面的UI界面,TaskBuilder提供了可视化的UI界面设计器,在该设计器内,可以从左侧的组件库中拖拽组件到页面上实现组件的添加,TaskBuilder提供了几十种丰富的UI组件,分为容
taskbuilder taskbuilder
4小时前
TaskBuilder前端请求后台服务的方式
TaskBuilder前端请求后台服务的方式在TaskBuilder的前端页面设计器的组件库里,有一个名为“服务请求”的不可视组件,它是前后端沟通的桥梁,前端页面都是通过这个组件来实现与后台服务的通信,在这个组件的属性里可以设置具体要请求的后台服务的路径,
taskbuilder taskbuilder
4小时前
TaskBuilder前后端通讯的数据格式
TaskBuilder前后端通讯的数据格式用TaskBuilder开发的应用,前后端传输的数据都是JSON格式的。4.5.1前端页面向后台服务发送的数据格式前端页面通过“服务请求”组件发送给任擎后台服务的数据是JSON格式的,示例如下:"service":
【团队效率提升】Python-PyWebIO介绍
PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写Web应用,不需要编写前端页面和后端接口,让简易的UI开发效率大大提高。
taskbuilder taskbuilder
1个月前
TaskBuilder内设置任擎服务器
TaskBuilder内设置任擎服务器在使用TaskBuilder进行软件开发时,必须要先连接到任擎服务器(后续文档所说的服务器如果不特别注明,皆指任擎服务器)才能继续操作,因为使用TaskBuilder开发所需的数据模型、后台服务和前端页面等文件都存放在
taskbuilder
taskbuilder
Lv1
免费开源的企业级低代码开发工具,研发团队任讯信息参与低代码国家标准编制
文章
46
粉丝
0
获赞
0