Oracle Application Express。 应用程序和页面

本教程的继续。


本部分描述了创建Oracle APEX应用程序和在应用程序中创建页面的过程。


上一部分: Oracle Application Express教程。 IDE概述


目录


应用程式建立
默认页面
应用启动
页面创建
主页组件
视觉元素
非视觉元素
元素的基本特性
一般性质
页面属性


应用程式建立


要创建应用程序,您需要转到App Builder并单击“创建”按钮。


应用程序类型的历史背景

在早期版本的apex中,第一步,向导建议选择应用程序的类型(在4.x版中,如果我的内存正确地为我服务,则在5.x版中为“数据库应用程序”和“ Websheet应用程序”类型-“桌面”,“移动” ”,“ Websheet”和“打包的应用程序”),在当前版本中,所有其他类型都稍微偏一点(尽管“ Websheet”仍然存在),您只需要选择“ New Application”即可。 和“打包的应用程序”-这些是App Gallery中相同的演示应用程序


接下来,启动应用程序创建向导。 第一步,您需要选择“新应用程序”,第二步-只需填写“名称”和应用程序ID(应用程序编号)字段。 仅因为它是必填字段,所以需要该名称,并需要Application ID因为那样将无法更改它。 更准确地说,可以(通过导出/导入),但是它又长又不方便,如果自动生成的顶点不适合您,最好立即设置所需的数字。 该数字必须唯一。 该号码用作申请地址的一部分。 让我们看一个典型的顶点URL:


 https://apex.oracle.com/pls/apex/f?p=123456:1:14675052744498::::: 

这里123456是应用程序ID。


到目前为止,对于向导中的其余字段,您仍然无法注意,以后可以更改所有这些设置。


之后,您需要单击“创建应用程序”,顶点将创建应用程序并自动将您移至应用程序页面,您将在其中看到


默认页面


默认情况下,apex将在应用程序中创建3个页面。 像应用程序一样,页面也有数字和标题。 该编号在URL中以相同的方式用于标识页面,它紧随应用程序编号之后,并用冒号分隔。 即,格式如下:


 https://apex.oracle.com/pls/apex/f?p=APPLICATION_ID:PAGE_ID:<  url> 

创建的默认页面是:


  • 全局页面(页面ID:0)
    这是一个特殊的页面,该页面不会单独使用,但是如果您希望在所有页面上显示该元素,则可以在其中添加一些元素。
  • 主页(页面ID:1)
    这是应用程序的起始页。 在应用程序中输入用户名和密码后,或者如果您指定应用程序的URL而未指定页面和其他所有内容,则默认情况下将使用它:


     https://apex.oracle.com/pls/apex/f?p=123456 

  • 登录页面(页面ID:9999,在4.x版本中,5.x为101)
    这显然是登录页面。 它包含用于输入登录名和密码一段时间的字段(我无法命名版本,但相对较新),一个复选框“记住用户名”和一个“登录”按钮。

应用程序和页面还具有有用的Alias属性。 对于应用程序,此属性在应用程序属性 (“应用程序属性”→“定义”→“名称”→“应用程序别名”)中进行配置,对于页面,在右侧属性面板中的页面编辑器中进行配置。 可以在页面URL中使用Alias而不是数字。 默认登录页面使用LOGIN_DESKTOP LOGIN_DESKTOP创建,主页使用HOME别名创建。 如果设置了应用程序别名MY_APP ,则可以转到登录页面, MY_APP


 https://apex.oracle.com/pls/apex/f?p=MY_APP:LOGIN_DESKTOP 

#定义真假(或者我知道你的想法)

如果应用程序123成为别名456,而应用程序456是别名123,会发生什么情况? 什么也没有,顶点将不允许此类应用程序创建此类别名。 帮助中并未明确说明这一点,但是应用程序别名似乎受PL / SQL中标识符名称规则的约束。
如果第123页是别名456,而第456页是别名123,会发生什么情况? 不会有任何事情,您可以为页面提供此类别名,但是它们将被忽略。 URL中的123将打开第123页。


应用启动


创建应用程序后,就可以“启动”它了(没有什么可看的了)。 这与启动常规应用程序(例如在Windows或Linux上)并不完全相同。 apex应用程序由与IDE本身相同的引擎呈现,因此,一旦创建该应用程序,即可立即使用该应用程序,并将其地址输入地址栏的任何人都可以使用它。 实际上,应用程序本身的启动就是打开起始页(编号为1的起始页)的名称。 您可以通过多种方式启动该应用程序:


  • App Builder的应用程序列表中,有一个“运行”列,每个应用程序对面都有一个按钮;
  • 应用程序页面上,有一个大的“运行应用程序”按钮;
  • 您不仅可以“启动”应用程序,还可以“启动”任何非对话框页面(只能从常规页面调用对话框):在应用程序页面列表中,还带有“运行”按钮的列;
  • 您可以通过单击页面右上角的按钮从页面编辑器开始当前页面。
  • 最后,如果右上角有这样的按钮,则可以启动页面:

页面启动


这两个按钮几乎位于IDE的任何部分。 左边的一个包含您在页面编辑器中打开的最后一页的编号。 通过单击它,您将继续编辑此页面,并且通过单击右侧按钮,您将启动此页面。


发射后会发生什么? 如果启动的页面访问受限,则首先将用户重定向到登录页面。 如果用户已经登录,或设置页面标记为公开,则将打开此页面。
默认情况下,创建的页面具有受限访问权限。 页面属性中有两个可能的设置(页面编辑器 -右面板-“安全”-“身份验证”属性组):


  • Page Requires Authentication :该页面仅在会话期间可供登录用户使用;
  • Page is Public :注册和未注册用户都可以看到的公共页面。

页面创建


您可以在应用程序页面上创建页面 。 单击“创建”,然后页面创建向导将启动。 向导步骤:


  1. (目前)从12种类型中选择一种页面类型,其中一些还具有子类型(如果有的话,将在下一步中显示)。 列表中的第一种类型是“空白页”,即没有任何内容的空白页。 其余类型是使用数据库的常见页面选项:报告,输入表单,图形等。在这里,我将描述创建空白页面的过程,其余类型将有单独的文章。
  2. 输入页码和标题。 我说过上面的数字; 该数字已在此步骤中设置,然后将无法更改,因此请小心观看。 有时,开发人员将页面分为几组(例如,出于功能目的),并为每个组保留一定范围的数字,因此,如果在项目中使用此数字,请当心。 您立即需要选择页面的类型:普通,模态对话框,无模对话框。
  3. 自定义导航项。 您可以跳过(单击“下一步”)并稍后进行配置(尽管如果您已经内置了某种导航系统,则可以在此步骤立即设置所有内容,而无需再洗个澡很方便)。
  4. 确认创建。

之后,页面创建完毕并可以使用。


主页组件


视觉元素


视觉元素是以某种方式显示在屏幕上的元素。 这是:


  • 顶级菜单。 它包含应用程序名称,徽标,用户名,“注销”链接(如果用户已登录)。 在那里您可以添加其他元素;
  • 左侧的导航菜单。 它可用于导航应用程序,例如,对应用程序部分进行分层结构;
  • 地区(通常在俄语中称为“地区”):元素的容器。 可能包含报告,图形,输入字段,按钮和其他区域;
  • 项目(没有公认的俄文翻译,他们说谁是谁,他们通常使用词“项目”,“字段”,通常只是一个项目):这些是用户输入的各个字段;
  • 按钮(按钮):嗯,这些是普通按钮,总之,我还能说什么;)
  • 报告:具有基于SQL查询的数据的表;
  • 图形/图表:也基于SQL查询,以图形方式显示数据库中的信息。

报表和图表可以被视为区域的各种形式(从技术上来说是这样),但同时它们是非常独立的实体,具有自己的行为,属性和其他特征。


非视觉元素


这些是确保应用程序逻辑的元素。 尽管用户从字面上看不到它们,但是实际上有各种各样的元素。 主要类型有:


  • 流程:通常,响应任何用户操作,在服务器上执行PL / SQL代码;
  • 验证:一种用于验证用户输入的过程;
  • 动态动作(没有确定的翻译,通常每个人都写它-动态动作或DA,而当您懒于切换布局时,说话者可以写一个动作或“是”):浏览器执行的过程。 最终,DA是javascript事件的处理程序。 知道javascript是可选的,但是如果您知道(和CSS选择器同时使用),则可以创造奇迹。
  • 分支(未建立翻译):根据某些条件重定向到其他页面。

元素的基本特性


一般性质


每种(或几乎每种)元素类型的主要特性组。 可以在页面编辑器中查看和编辑它们。 在这里,我将简要描述它们的用途(以便您知道要查找的内容),并在其他文章中更详细地讲述。


  • Identification :设置元素的名称和其他属性(取决于类型);
  • Appearance :负责视觉元素外观的属性。 对于每种类型的元素,都有一组模板,您可以在此处选择其中一个TemplateTemplate属性)。 此外,模板还有其他设置(“ Template Options -单击按钮会打开一个带有设置的窗口);
  • Layout :调整视觉元素在页面上的位置。 元素排列在12列的网格中,您可以在此处指定应如何放置它们。
  • Source :用于区域和项目-用于显示的数据源,用于流程-流程代码;
  • Server-side Condition :在服务器上检查的条件(从简单的条件(如诸如此类的元素具有这样的值)到任意PL / SQL代码,都有大量条件可供选择)。 如果满足此条件,元素将显示在页面上,如果不满足,则元素将显示在页面上。 而且,它不会被隐藏,而只会被渲染。
  • Client-side Condition (用于Dynamic Action ):在客户端上检查的条件(不访问服务器)。 如果满足条件,DA将得到满足;
  • Read only :它与Server-side Condition相同,只是它不控制元素的存在/不存在,而是控制更改值的能力。 此属性用于项目,区域和页面。 对于项目,它适用于项目本身,对于区域/页面,适用于相应区域/页面内的所有项目;
  • Security :控制对该项目的访问。 原则上,可以使用“ Server-side Condition来完成所有操作,但是最好区分以下两种: Server-side Condition -用于应用程序逻辑, Security -用于根据访问权限进行显示。
  • Configuration :启用/禁用Build Option 。 这是一件很不明显的事情,但是非常有用:它允许您启用或禁用应用程序的各个功能,当您针对多个不同版本并行开发功能时,这非常方便。
  • Comments :对其他开发人员的评论;
  • Help (用于视觉元素):对应用程序最终用户的帮助。

页面属性


页面特定的属性:


  • Navigation :该组中有两个属性。 Cursor Focus指示加载后是否立即将焦点转移到页面的输入字段(选项-不传输或转移到页面的第一个字段)。 Warn on Unsaved Changes如果有未保存的数据,则Warn on Unsaved Changes用户离开页面;
  • JavaScript :允许您向页面添加JavaScript代码。 您可以指定文件的路径,也可以将代码直接添加到页面中。
  • CSS :CSS相同。 如果仅需要对该页面进行某种本地CSS设置,则包括文件或添加到页面。
  • Advanced :允许您启用或禁用防止重新提交表单的保护。

Source: https://habr.com/ru/post/zh-CN446036/


All Articles