ODOO中的Action原理?
原理:什么是Action?
首先,
让我们来看看,大家知道的客户端給服务端传参数的方式只有很少的几种: 1. URL网址后跟参数; 2. Post请求传参; 3. Header中传参(例如Cookie);
ODOO架构在设计的时候,选择了最简单、可见的传参方式,即直接在 URL 中进行参数传递。 当我们访问一个URL时,我们直接在 URL后面,跟上ODOO所能识别的参数,例如:Action、Model、View_Type、Menu_id。然后,ODOO系统会自动根据您所访问的URL进行解析,根据参数进行渲染,最后返回相应的视图。
Actions
Actions 可存在数据库中。也可以直接以字典(dictionaries)形式返回(比如按钮所运行的函数,利于前端JavaScript知道下一步要干什么)。
所有的actions有两个必须的属性:
type 类别,该属性决定了哪些字段会被用来解析此action.
name 描述,可显示在客户端界面上.
客户端会接收到4种形式的action
False
若当前action对话界面是打开状态,则关闭.
一条字符串
若与某客户端动作的tag匹配,则解析该action,否则按数字处理.
一个数字
作为id从数据库中获取action记录,该id可能为数据记录id或外部id.
一个字典
将其作为客户端action描述,解析并执行.
在JavaScript中:
var AbstractAction = require('web.AbstractAction');
var ClientAction = AbstractAction.extend({
... });
core.action_registry.add('my-custom-action', ClientAction);
在xml中:
<field name="name">名称</field> <field name="tag">my-custom-action</field>
id="my_menu_item" parent="some_parent" action="my-custom-action" name="Title" />
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Cloud Alibaba 实战(三) - 微服务拆分与编写
1 概述 1.1 单体架构vs微服务架构 单体架构是什么 微服务是什么 微服务特性 微服务全景架构图 微服务优缺点 微服务适用场景 1.2 业务分析与建模 项目功能演示与分析 微服务拆分 项目架构图 数据库设计 API文档 1.3 编写微服务 创建小程序 创建项目 编写用户微服务 编写内容微服务 2 单体应用 一个归档包(例如war包)包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论就是单体应用架构。 架构图 2.1 单体架构的优点 架构简单 开发、测试、部署方便 2.2 单体架构的缺点 复杂性高 部署慢,频率低 扩展能力受限 阻碍技术创新 3 微服务 一词最早来自于Martin Fowler的一篇微服务文章 翻译微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源 API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术 3.1 特性 每个微服务可独立运行在自己的进程里 一系列独立,...
- 下一篇
Linux系统:centos7下搭建Rocketmq4.3中间件,配置监控台
本文源码:GitHub·点这里 || GitEE·点这里 一、环境搭建 环境版本 centos7 jdk1.8 已搭建好 rocketmq4.3 1、下载安装包 网址 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip # We suggest the following mirror site for your download:官方建议下载地址 http://mirrors.tuna.tsinghua.edu.cn/apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip 2、上传文件 [root@localhost mysoft]# pwd /usr/local/mysoft [root@localhost mysoft]# unzip rocketmq-all-4.3.2-bin-release.zip [root@localhost mysoft]# mv rocketmq-all-4.3...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果