已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oralce之APEX开发指南Oracle ERP APEX开发指南Author:刘俊杰Creation Date:April 10, 2014Last Updated:十一月 29, 2018Document Ref: Version:1.0Approvals:Document ControlChange Record3DateAuthorVersionChange Reference10-Apr-13Junjie.liu1.0No Previous DocumentReviewersNamePositionDistributionCopy No.NameLocation1234Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.ContentsDocument Controlii1.APEX之系统探究21.1.APEX简介21.2.环境搭建31.3.APEX账户管理61.4.待定82.APEX 开发92.1.开发概要92.2.页面布局、美化102.3.APEX控件132.4.Report常用增删改162.5.文件上传下载192.6.使用CSS与JS252.7.图表、报表282.8.Application Express Free Plugins352.9.APEX部署373.APEX之调试、常用技巧、API394.APEXEBS集成404.1.EBS中配置APEX页面调用405.Reference436.Open and Closed Issues for this Deliverable44Open Issues44Closed Issues441. APEX之系统探究1.1. APEX简介1.1.1. 概述1) Oracle Application Express是基于Web浏览器的网络即时开发、部署、运行。2) Oracle Application Express所有页面都是存储于数据库,类似于EBS的Form个性化。3) Oracle ApplicationExpress具有易用性、灵活性及Web的安全性、集成性、可伸缩。1.1.2. 体系结构Application Express使用用户计算机上的Web浏览器通过Web监听程序与Oracle数据库通信。开发,部署或运行时不需要浏览器之外的任何其他客户机软件。Application Express页使用浏览器中的HTML来呈现。页请求和提交发送到Oracle数据库中的Application Express引擎。1.1.3. 运行环境1) 浏览器要求Web浏览器必须支持Java脚本和HTML4.0和CSS1.0标准。Oracle Application Express建议使用以下浏览器进行开发或查看应用程序:l 微软Internet Explorer7.0或更高版本l Mozilla Firefox 3.6或更高版本l 谷歌Chrome4.0或更高版本l 苹果Safari4.0或更高版本2) 数据库及HTTP服务器要求1) Oracle Database 11g release 1or 2,自带pl/sql网关配置比较简单,能够直接提供HTTP服务器的功能。2) Oracle Database 10g,必须使用mod_plsql插件或是Oracle Application Express监听器来连接专业的HTTP服务器。1.1.4. 运行机制Application Express完全驻留在Oracle的数据库中,它是由存储在数据表中的数据和大量的pl/sql对象组成.对于客户浏览器发送的URL请求解析成pl/sql调用,数据库处理pl/sql调用,并将结果以HTML形式返回浏览器(sys.htp.p)。每个页面的结果都在新的会话中,因此当Application Express引擎处理或者呈现一个页面的时候才会消耗数据库资源Application Express引擎包括:1) 异步会话状态管理2) 认证服务3) 授权服务4) 页面流控制5) 验证处理6) 页面渲染和处理1.1.5. 学习基础1) SQL、PL/SQL基础(必须)2) HTML基础深入开发的时候对html,javascript,css还是蛮重要的。1.2. 环境搭建1.2.1. 环境准备操作系统、数据库、安装文件我这边使用的是RedHat 4.2.1 + Oracle 11g + Vmware8.0安装文件使用最新的Apex_4.2.5.zip可在网上下载 安装方式可以采用嵌入式SQL网关来监听或使用APEX Listener基于Apatch的mod_plsql来安装。本文使用嵌入式SQL风关来安装。安装OK后当需要关闭虚拟机时把虚拟机的状态置为挂起状态,这样下次再打开时就不需要再重新去配置参数。下面的安装都是使用系统的DB用户操作安装有问题可联系作者1.2.2. Oracle Application Express安装step by step1) 由于oracle 11g自带Apex3.0,因此在本次安装的时候我们首先要卸载掉3.0版本2) 上一步全部运行OK后,在apex目录下执行rm rf *.* 创建一个TableSpace:Apex01,CREATE TABLESPACE apex01 DATAFILE /d01/oracle/SID/db/apps_st/data/apex01.dbf SIZE 100M AUTOEXTEND ON NEXT 100MMAXSIZE 1000M;3) 把之前下载的Apex4.2.5安装文件上传至$ORACLE_HOME下,然后解压至/apex目录下4) 开始安装5) 更改Admin用户,并解锁APEX_PUBLIC_USER,其中Admin用户密码要设置得比较复杂,必须包含大写、小写字母+特殊的符号+数字ALTER USER ANONYMOUS ACCOUNT UNLOCK;6) 上述步骤全部OK后,可选安装中文语言7) 配置嵌入式pl/sql网关8) Grant connect privileges to any host for the APEX_040200 database user9) 更改参数值10) 以上全部OK后,APEX安装完成,可通过http:/server:8888/apex/apex_admin来管理,若出现HTTP404错误后,请执行如下命令,若没开则把它启起来11) 成功后则可访问访URLhttp:/server:8888/apexhttp:/server:8888/apex/apex_admin安装到此,貌似都解决了,打开管理员网址,输入用户名、密码:ADMIN/.后发现无法通过登录授权认证,怎么解决呢?难道密码不对,于是再次更改ADMIN的密码,重启数据库,发现问题依旧,这样排除了ADMIN密码不对的可能,APEX授权的登录连接只有APEX_04002,这个也是没有问题的,也就是说本次的安装都是OK的,毕竟系统都启起来了,这时候联想到是不是这个授权验证是否还走的是之前的3.0版本的校验,执行了如下这段SQL发现确实还存在之前3.0版本的遗留用户,果断的把这些用户全部drop掉。后面不小心把APEX_04002也drop了,因此只好又重装,重装后一切OK。 Drop user cascade;1.3. APEX账户管理1.3.1. APEX账户关系图1.3.2. ADMIN1) ADMIN是Oracle Application Express的超级管理员2) ADMIN可以创建、删除、修改WorkSpace及Workspace的管理员创建一个WorkSpace名为jjl,Schema为oracle ebs的apps,同时创建该workspace的管理员名为jjl1.3.3. WorkSpace的Admin,Developer,AppEndUser1) 使用刚创建好的WorkSpace【jjl】以管理员jjl登录2) 登录之后为该workspace创建开发用户与app最终用户3) 后续就可以用使用developer登录workspace【jjl】进行开发1.4. 待定1.4.1. 待定2. APEX 开发2.1. 开发概要2.1.1. 理解WorkSpace、ApplicationWorkSpace:工作空间,一个WorkSpace对应Oracle数据库的一个Schema,形象的理解我们可以认为它就是一个工程,这个工程里面有很多的子项目Application.在与EBS的集成开发中,我们认为每个Application可以类似于EBS中的一个Form,该Form里包含多个窗口.本文有些截图是基于Oracle Application Express 4.2.5版本。在APEX中的页面布局、各种OBJECT的属性控制都是可以通过配置来解决的,对于这种声明式的开发(不需要编译)它需要的是少量的Coding,主要是偏向于pl/sal编程.Oracle Application Express可以创建Database Applications,Websheet Applications,Packaged Application本文对应的开发都是Database Application.2.1.2. Application授权登录机制每个Application都可以为其设置安全认证,创建Application的时候会让你三选一。后期创建好后我们是可以对其登录机制进行修改。具体的APEX自带的授权登录机制有7种。在目前的开发中我们可以选择Application Express Accounts与HTTP Header Variable. 前者必须输入APEX用户名密码才可登录,后者2.1.3. Page0Page0是该Application的一个全局页,比如某些全局变量,全局常量都可以在该页去设置,为了方便管理我们把不同类型的变量放在不同的区域,这些区域是不显示在界面上的类似于HTML的HIDDEN.2.1.4. 待定2.2. 页面布局、美化Application Express 提供了 20 个主题。每个主题由定义应用程序外观的组件模板组成。Oracle Application Express 4.0 提供的这些现代化主题都符合 XHTML 和 CSS 标准。XHTML 页面可移植性更强、呈现时间更短。在项目上开发的使用的是APEX4.1.1版本,在网页布局这块比较郁闷,创建Region的Column属性是在某个 Body内是全局的,在APEX4.2.5版本中,就变得相当的Easy,可以对子子.区域的重新布局,其子子区域都会有对应的Grid Layout可以配置。2.2.1. 页面区域展现APEX的页面在选定主题后,其页面的布局与CSS基本上已确定,基本上符合DIV+CSS来布局,然后把某几个常用的DIV【Body1、Body2、Body3、Postion1、Position2、Position3、Position4】放开给Developer开发使用。其中Body区域在HTML中是以展现,Position区域在HTML中是以展现其中我们常用的区域为红色标记的区域。实例创建区域的布局如图:如何实现以上布局呢?在这里首先还是得明白HTML中的基本元素及这些元素附带的一些属性. 上图相信对TABLE能一目了然了。那这些HTML的标签是如何对应APEX中的配置呢?请看下图来自APEX的Grid Layout的配置 Start New Grid:意为着当前的Object是否采用新的网格布局,即是否采用一个新的展现,不基于上一个的布局展现(比如可以重新定义列数,) Start New Row:意为着当前的Object是否换行显示,即展现 Column:意为着当前的Object是在该的当前行的第几列展现.那么像上面布局图中的Search3的区域布局配置为:Newsearch1的区域布局配置为:Newsearch3的区域布局配置为:同理要实现更复杂的布局基于上述原则也是实现起来比较简单的。配配就OK了2.2.2. 标题待定2.3. APEX控件APEX作为一个强大的快速开发工具,当然少不了一些常用的控件,下拉框Commbox,值列表Lov,文本框Text,日历DataPick,报表Report,。这些控件的基本使用可参考我们知道控件都是可以有很多属性、事件、校验、Dynamic Action。其中Dynamic Action是可以做很多操作的,比较重要的是执行pl/sql时类似于Ajax的无刷新控件属性:l Form Element Width:控件的宽度l Horizontal / Vertical Alignment:控件的显示位置还有Label显示位置。l Value Required:是否必输入。l Condition Type:控件显示的条件,只有满足了才显示。l Read Only Condition Type,:控件只读的条件,只有满足了才只读。l Default value:设置控件的默认值。l Format Mask:控件值的格式掩码事件:事件定义也是有属性可配置的:l Condition Type:执行事件的前提条件l True Actions:事件发生后,对应控件的校验条件为真时执行的动作。l False Actions:事件发生后,对应控件的校验条件为假时执行的动作。l WHEN Condition:事件发生后,执行相应的动作的判断条件。校验属性:l When Button Pressed :触发校验的Buttonl Condition Type:触发校验的前提条件l Condition Expression:校验表达式l Validation:执行相应的校验l Error message display location:错误信息显示方式l Associated Item:错误信息关联到指定的Object下面做个具体的实例使用这些属性、事件、校验1、 点击Button: Search2 Btn时校验 X_Text1值是否为空,满足校验的前提条件是jjl_test表中存在记录user_id=123;2、 当页面加载完,DatePick:Data init值赋值为当前日期3、 当X_text2值不为空时,Region:new search2隐藏,否则显示最终效果图:Step By Step操作1、 创建一个页面命名为Page22、 Pl/sql apps登录创建table:jjl_test(user_id varchar2(50),resp_id varchar2(50),resp_appl_id varchar2(50),login_name varchar2(50),login_count number,login_date date); insert into jjl_test values(123,);3、 在Page2中创建六个html region,对应的Parent Regionn选择Page Template Body(1)4、 Search1,search2,search3 属于同一个TABLE,属性Column依次为1,2,2. 属性Start New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,Yes.5、 New Search1,new search2,new search3 属于同一个TABLE,属性Column依次为1,2,3. 属性Start New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,No.6、 在search1中创建TextField:P1_X_TEXT,P2_X_TEXT,search2中创建Button :SEARCH2_BTN,search3中创建DatePick:DATA,new search2中创建子区域:newsearch_subpage1,new_search3_subpage2,new_search3_subpage3, 属于同一个TABLE,属性Column依次为1,2,1. 属性Start New Grid依次为Yes,No,No. 属性Start New Row依次为Yes,No,Yes7、 P1_X_TEXT鼠标右键创建相应的Validation:Name:X_TEXT1 IS NOT NULLWhen Button Pressed:SEARCH2_BTN.Condition Type:Exists(SQL query returns at least one row)Condition Expression 1:select 1 from jjl_test jt where jt.user_id=123;Validation Type:Function Returning BooleanValidatoin Expression:begin if :P1_X_TEXT is not null then return true; end if; return false;end;Error message:X_TEXT1 cant be null;8、 P2_X_TEXT鼠标右键创建相应的Dynamic Actions:Name:Dynamic_action1;Conditon Type:Always;When Event:ChangeWhen Selection Type:Item(s)When Item(s):P2_X_TEXTWhen Condition:is not nullTrue Actions:Hide Region(new search2)False Actions:Show Region(new search2);9、 创建PageLoad型的Dynamic ActionName:page_load_set_date;Condition Type:Dynamic Actoin Not conditionalWhen Event:Page LoadWhen Condition No ConditionTrue Actions:Set ValueSet Value/Settings/Set Type:SQL StatementSet Value/Settings/SQL Statement:select sysdate from dual;Set Value/Affected Elements/Selection Type:Item(s)Set Value/Affected Elements/Item(s):DATA2.4. Report常用增删改通常在APEX中对于记录的增删改是通过链接到新的页面去实现单条数据的更改。本节主要介绍如何在一个Tabular Form中不链接实现多行数据的增删改和客户化逻辑。APEX的Tablular Form开发类似于EBS Form开发,也是基于视图去开发。下面实例开发一个Form,当更改用户的class_name与login_name时,更新用户的login_name,然后在另一张表校验class_name是否存在,若不存在报错,若存在则把当前勾选的记录插入另一张表jjl_test31、 数据库中先创建APEX页面的Tabular Form的View,同时创建一个APEX页面并创建Tabular Form2、 create table jjl_class(class_id number,class_name varchar2(50); create or replace view jjl_class_test2 as SELECT jt.user_id, jt.resp_id, jt.resp_appl_id, jt.login_name, jc.class_name FROM jjl_test2 jt, jjl_class jc WHERE jc.class_id = jt.class_id;3、 配置页面Tabular Form数据源4、 创建一个RegionButton:Apply Change5、 为Apply Change创建Process:6、 运行效果如图:当class_name不存在于jjl_class表中时当输入的class name存在时,运行的效果与结果如图:把BBB更改为DDD点击Apply Change后2.5. 文件上传下载真是麻雀虽小,五脏俱全,上传下载在Apex里的实现是非常easy.下面的例子实现文件上至数据库- Create table1、create table JJL_FILE( id NUMBER, file_nmae VARCHAR2(50), file_memetype VARCHAR2(50), file_blob BLOB, file_comments VARCHAR2(200), file_charset VARCHAR2(20), last_update_date DATE)2、创建Page:updown load file,在该page中创建html区域:upload file由于数据文件是上传至数据库表,需要在页面上传文件之前,可以在加载完head后去表里 Fetch Row from jjl_file,然后在页面上创建相应的hidden项与表jjl_file中相字段相应。就像在pl/sql中要往表里插一行记录时,可以先定义该表的Rowtype类型的变量,然后再做赋值与Commit;创建相应的region item,type:hidden分别为p_file_id,p_file_name,p_file_charset,p_file_memetype创建processes:fetch row from jjl_file; 上图中的table name要大写.双击之前hidden项,配置每项的Source属性,保持与jjl_file的列名一致。如P_FILE_ID对应JJL_FILE中的ID。4、在区域upload file中创建File Browse项,具体配置如下:以上都对应数据库中的表jjl_file相应的字段。5、创建区域button:upload file6、为region item:FILE_BLOB创建Validation:点击UPLOAD_FILE按钮时验证FILE_BLOB不能为空.7、SubmitPage后执行如下Processes: Process Row of JJL_FILE,配置如下图运行效果如图:上传APEX技术开发文档.doc 7.5MPl/sql中查看保存结果:下载文件的实例:创建一个interactive report名为downlaod file,配置其Sourceo:SELECT jf.id, jf.file_nmae, jf.file_memetype, jf.last_update_date, dbms_lob.getlength(jf.file_blob) file_size, dbms_lob.getlength(jf.file_blob) download FROM jjl_file jf创建OK后双击report:download file,配置列download为blob如图:运行效果如图:下面做一个页面Report数据的下载链接1) Classic Report 的下载链接配置在Report的Attribute里做如下配置运行效果如图:2) Interactiive Report的下载链接配置URL: /f?p=:app_id is the application idpage_id is the page idsession_id is the session id : CSV or HTMLD创建Interactive report region下的一个Display Only项,Settings配置如下:运行效果如图:2.5.1. Wait for2.6. 使用CSS与JS在做相对比较复杂或比较个性化的APEX页面时还是需要用到一些JavaScript脚本和CSS。下面做一个用JavaScript给Report表格中列赋值.效果如图: 创建Report,构建相应的列的HTML标签设置每列的显示方式 创建page_item_button 为page_item_button创建Dynamic Action执行Set Value动作Set Value/Settings/Set Type:Javascript ExpressionSet Value/Settings/Javascript Expression:再做一个使用CSS来控制页面中元素的显示,由于之前项目上有些Report需要显示很多列,导致把页面拉得很宽,而在APEX4.1.1版本中没有相应的CSS模板,因此需要自己来控制Report的显示。如上图给Region加滚动条,并为滚动条赋上相应的颜色、控制滚动条的显示形状。开发步骤:1、 首先在Page页面HTML Header and Body Attribute属性中定义CSS .css1width: 752px; height: 380px; -ms-overflow-x: scroll; -ms-scrollbar-3dlight-color: rgb(235, 235, 228); -ms-scrollbar-shadow-color: rgb(179, 221, 247); -ms-scrollbar-highlight-color: rgb(179, 221, 247); -ms-scrollbar-darkshadow-color: rgb(235, 235, 228); -ms-scrollbar-arrow-color: rgb(0, 0, 0); -ms-scrollbar-track-color: rgb(244, 244, 240); ms-scrollbar-face-color: rgb(179, 221, 247);2、 在Page页属性JavaScript:Excute When Page Loads document.getElementById(t20BreadCrumbsLeft).className = css1;3、 Coding截图当然上述只是一个很简单的例子来介绍如何去使用CSS控制APEX对象.在APEX4.2.5版本中已经有带滚动条的模板可选择了,但依然还是有缺陷,Report header Row不能固定,它会随滚动条向下滚动而被覆盖2.7. 图表、报表Application Express3.0之后支持HTML5 Chart 与Flash Chart,支持2D/3D的柱状图、水平条形图、饼图和圆环图、折线图、K线图、计量表、甘特图。(这几个图表插件Buy from AnyChart)下面实例step by step 发柱状和饼图。准备工作:创建一个Application,在新的Application中创建一个页面Page1在新的Page1中创建一个HTML区域 命名为new search1(序列号50)。Pl/sql登录往table:jjl_test里插入值:1) 在区域new search1中右键选择 Create Sub Region,弹出的页面中选择 Chart,点击Next,选择ChartType:Column/3D Column,Chart Rendering:HTML5 Chart2) 定义需要创建的Chart:Display Attributes,如图上图中的 Color Scheme:是Chart的显示颜色主题,也可支持自设颜色。Show Grid:Y-axis 设置Y轴显示网络Show ints: 设置当鼠标移动到柱状图上时是否显示提示信息。Show Labels:设置Chart的柱状条下是否显示名称Show Values: 设置是否显示柱状条的值3) 点击Next 设置Source,即该Chart的数据源。数据源的SQL有两种写法,第一种是直接赋SQL。SELECT NULL url, to_char(jt.login_date, MON RRRR) label , SUM(decode(jt.login_name, admin, jt.login_count, 0) admin, SUM(decode(jt.login_name, developer, jt.login_count, 0) developer, SUM(decode(jt.login_name, end user, jt.login_count, 0) end user, SUM(decode(jt.login_name, super admin, jt.login_count, 0) super admin FROM jjl_test jt GROUP BY to_char(jt.login_date, MON RRRR) 配置图表的Source的SQL,第一列为URL,即点击柱状条的一个链接,第二列为2)里的Show Labels的Label值.后面的SQL例为2)里的Show Values的Value第二种写一个pl/sql表达式CREATE or REPLACE function login_data_fnl_qry VARCHAR2(32767); BEGIN l_qry := SELECT null, to_char(jt.login_date, MON RRRR) label ; -Loop through the login_name and add a sum(decode.) column with column alias FOR r1 IN (SELECT DISTINCT login_name FROM jjl_test) LOOP l_qry := l_qry | sum(decode(jt.login_name, | r1.login_nmae | , jt.login_count,0) | r1. login_nmae | ,; END LOOP; -Trim off trailing comma l_qry := rtrim(l_qry, ,); -Append the rest of the query l_qry := l_qry | FROM jjl_test jt GROUP BY to_char(jt.login_date, |MON RRRR|); RETURN l_qry;END login_data_fn;运行效果图:当配置Source为某一个月的时候,运行效果如下图:当在第一个3D柱状图表中再配置一个Source:运行效果如图:同理 饼图制作也如上述一致,只是配置Chart Type为Pie/3D Pie,配置Source的时候SQL赋值为:运行效果图2.7.1. PDF、Word、Excel报表开发与EBS的报表开发一样,也是基于xml+layout,简单的举个例子即可创建xml Data创建layout,Xml 绑定布局文件rtf在page中创建button:PrintAction:Download Printable Report QueryReport Query:testquery运行效果如图:2.8. Application Express Free Plugins2.8.1. LOVApex中的Lov是很简陋的,无法与EBS Form中的LOV媲美,不支持显示多列,不支持返回多列值,下图中的User即为一个LOV。这样的LOV在实际业务中很难满足客户的需求.Skillbuilders提供了开源的免费Super_lov插件.比较强大,能很好的解决上述需求。l 支持LOV Titlel 支持LOV即时输入验证l 支持LOV显示多例l 支持LOV返回多例下面就实现上述的一个User的LOV。1、网上下载apex_super_lov插件,导入至Application2、在Region search1中创建一个Page Item选择Plug-ins 3、点击下一步选择刚导入的super_lov,做如下配置 1) List of values desfinition:定义LOV的数据2) Enterable :Enterable-Restrictred to Lov 支持输入并做即时校验,若输入的数据不存在则跳出Lov对话框 3) Item Display & Return Columns:1,2 即为当前控件New User设置点击LOV后的显示列值与返回例值4) Searchable Columns:1,2 支持对哪些列进行数据查询5) Hidden columns:可以对某些列做隐藏 6) Map From Columns & Map To Items 用来设置其它列返回给界面上的Object项.效果图:2.8.2. Seclect List2.8.3. Report2.9. APEX部署Application Express程序不需要编译、依赖Oracle数据库的即时运行。对于开发员来说程序的部署在系统上线之前的UAT过程是很常见的。由于它所有的对象都是存在于数据库,因此就像导数据库对象一样,可以把它导出为一个SQL文件。当然这里是对一个Application做导入做出。如图:导入Application至WorkSpace:点击上图的导入选择需要导入的SQL文件,然后step by step3. APEX之调试、常用技巧、APIAPI发送邮件:APEX_MAIL.SEND( p_to = , p_from = DO_NOT_REPLYREQS, p_subj = | l_who | Has Covered | l_job | at | l_client | CHR (10), p_body = just for test); COMMIT; apex_mail.push_queue ();PL/SQL中执行页面的跳转控制begin . code which can raise an exception . owa_util.redirect_url(); apex_application.stop_apex_engine;exception when apex_application.e_stop_apex_engine then raise; - raise again the stop APEX engine exception when others then .; - code to handle the exceptionend;4. APEXEBS集成4.1. EBS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年浙江省部编版九年级物理上册第8章同步练习题
- 扫描电镜知识试题和答案展示
- 行政组织练习题及答案
- 信息安全基础试题答案
- 网络与信息安全管理员三级考试题库含答案2026年考前演练
- 教师自我发展目标及计划
- 教育心得感悟范文10篇
- 2026年网络与信息安全管理员三级培训试卷及答案
- 2025年资产评估师考试资产评估基础真题及答案解析
- 2025年全国教师资格证考试中学《教育知识与能力》真题及参考答案
- 2026年云南中考(语文)考试试卷真题带答案
- FDE模式行业观察与实践
- 2026年数字安徽有限责任公司所属企业安徽数安系统集成有限公司第1批次社会招聘18人考试备考试题及答案详解
- 2026年党建知识竞赛题库(完整版含答案)
- 2026年秋季电气工程专业开学第一课 专业认知与学业规划
- 2026年秋季六年级英语上册教学计划(人教PEP版)
- 2026 年秋季开学:教师课程标准深度解读培训
- 2026年人工智能公需课试题附答案
- 2026年甘肃省广播电视总台招聘事业编制工作人员20人考试参考题库及答案详解
- 《高一数学竞赛暑假系统复习课件》
- 计算机图形学 课件 第1章绪论
评论
0/150
提交评论