UI5开发 – Eclipse编辑代码

sap ui5教程(0)简介、环境搭建、创建项目 因为去sap公司实习原因,即将接触sap ui5框架,这里记录我对sap ui5的学习过程 1、简介 SAP UI5: sap ui5是sap公司推出的前端 UI框架,用js编写,有丰富的组件可以组合使用。 OpenUI5: SAP UI5的开源版本,核心框架和SAP UI5一样,但移除了一些库 模式: sap ui5采用MVC(model业务模型,view显示页面,controlle 阅读详情

前面已经详细介绍了UI5开发模板,并且已经创建了model,参考文章UI5开发 – 创建Model,并且对该model进行了功能开发,参考文章UI5开发 – Model编程, 接下来在gateway server上注册了服务,UI5编程 – 注册service到SAP gateway server, 本文介绍如何在Eclipse里面进行编程,完善我们的应用。


应用设计:该App使用master-detail模板,左边显示plant清单,右边显示plant详细信息,有两个iconTab,一个显示plant的地址信息,一个显示google地图中plant的位置。

为了节省时间,我们不使用模板,而是用webide创建一个初始程序,然后在Eclipse中取得生成的代码进行修改。今天登陆webide发现SAP又有了版本的更新,目前是1.9.3,不知道模板文件是否有什么新变化,在以下开发过程中慢慢查看。

根据template创建项目

注意要选择我们前面创建的model

在template创建过程中,新版本并没有任何变化。

从gateway server取得生成的模板文件,参考Eclipse开发UI5 – 使用WebIDE生成的代码模板

为了能够直接测试,我们需要把Template生成的文件复制到Eclipse中的WebContent目录下,如图:

修改component.js,因为我们使用webide直接调用我们的model创建的模板,所以这里无需修改,如果使用其他的模板,需要更新一下model的定义信息。

config : {  
    resourceBundle : “i18n/messageBundle.properties”,  
    serviceConfig : {  
    name: “ZBLOG_PLANT_SRV”,  
    serviceUrl: “/sap/opu/odata/sap/ZBLOG_PLANT_SRV/”  
    }  
    },  

运行这个app,看看我们需要修改那些信息:

  • List 界面应该不需要修改,我们只要显示plant name以及plant number
  • Detail header部分,去掉一些不需要的,同样,只要name和number
  • 第一个iconTab用来显示地图,目前不做修改
  • 第二个iconTab的信息并没有把model中的地址信息列全,我们需要加几个字段。

修改detail页面header部分,注释掉不用的代码

修改address iconTab,添加model中定义的字段

 <Label   
     id="zlabel1"   
     text="Address Number">  
    </Label>   
    <Text   
     id="ztext1"  
     text="{Addrnumber}"  
     maxLines="0">  
    </Text>  

按照以上代码添加region字段

修改index.html,在Head部分加载google api

 <script type="text/javascript"  
     src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB0Lh5jRLPVVcct3iMVNyS_4NoiUJlvPW4&sensor=false">  
    </script>  

修改detail页面第一个iconTab,图标改成地图图标,加载google地图

  • 修改icon: icon=”sap-icon://map”
  • 修改key,连接到model中的geocode entity: key=”GeoCode”
  • 在iconTabFilter中的content里面删除不用的信息,添加google page
    <IconTabFilter   
     id="iconTabFilter1"   
     key="GeoCode"   
     icon="sap-icon://map">  
     <content>  
     <f:SimpleForm   
     id="iconTabFilter1form"   
     minWidth="1024"   
     editable="false"   
     layout="ResponsiveGridLayout"   
     labelSpanL="3"   
     labelSpanM="3"   
     emptySpanL="4"   
     emptySpanM="4"   
     columnsL="1">  
     <f:content>  
     <Label   
     id="zlabel3"   
     text="Lat">  
     </Label>   
     <Text   
     id="ztext3"  
     text="{Latitude}"  
     maxLines="0">  
     </Text>   
     <Label   
     id="zlabel4"   
     text="Long">  
     </Label>  
     <Text   
     id="ztext4"  
     text="{Longitude}"  
     maxLines="0">  
     </Text>   
     <core:ExtensionPoint   
     name="extIconTabFilterForm1"/>  
     </f:content>  
     </f:SimpleForm>   
     <VBox fitContainer="true" justifyContent="Center" alignItems="Center">   
     <HBox height="500px" width="100%" id="map_canvas" fitContainer="true" justifyContent="Center" alignItems="Center">  
     </HBox>   
     </VBox>  
     </content>  
    </IconTabFilter>  

修改Detail.controller.js,添加显示google map的代码

  • 定义全局变量:

  • 每次显示地图之前清空:

  • 添加iconTab bar的事件触发:

  • 显示地图代码如下:

 ShowMap: function(){  
     oController = this;  
     if (googleMap == null){  
     var myOptions = {  
     zoom : 15,  
     mapTypeId : google.maps.MapTypeId.ROADMAP  
     };  

     googleMap = new google.maps.Map(this.getView().byId("map_canvas").getDomRef(), myOptions);  
     var currentPosition = new google.maps.LatLng(0,0);  
     marker = new google.maps.Marker({  
     position: currentPosition,  
     map: googleMap,  
     draggable : true,  
     animation : google.maps.Animation.DROP,   
     });  
     marker.setTitle("Plant Position");  

     google.maps.event.addListener(marker, 'dragend', function() {  
     oController.SetMarker(marker, googleMap, marker.getPosition().lat(), marker.getPosition().lng());  
     });   
     }   
     currentPositionX=this.getView().byId("ztext3").getText();  
     currentPositionY=this.getView().byId("ztext4").getText();  
     this.SetMarker(marker, googleMap, currentPositionX, currentPositionY);  

    },  

    SetMarker: function(marker, googleMap, latitude, longitude){  
     // get the position of customer  
     var currentPosition = new google.maps.LatLng(latitude,longitude);  
    // this.getView().byId("upGeoLat").setValue(latitude);  
    // this.getView().byId("upGeoLong").setValue(longitude);  
     marker.setPosition(currentPosition);  
     googleMap.setCenter(currentPosition);   
    },  

测试应用

在下篇文章中会介绍如何debug这个应用,以及如何把这个应用放到Fiori LaunchPad上面。

图标带筛选的多面板导航——sap.m.IconTabFilter 通过图标、文本与计数的多模态标签,把信息架构与视觉识别结合,天然贴合 Fiori 的. 在实际应用中,只要控制面板数量、实行懒加载并关注可访问性优化,就能让用户在触控与键盘之间自由穿梭,确保一致且高性能的体验。合理运用这些技巧,可在简洁外观与复杂业务需求之间取得平衡,让数据驱动的企业界面既美观又可用。 阅读详情

相关推荐

Eclipse GUI设计与开发:WindowBuilder Pro 1.1插件实战

本文还有配套的精品资源,点击获取 简介:WindowBuilder Pro 1.1是Eclipse IDE的插件,支持Java Swing、SWT/JFace和GWT应用程序的GUI设计与开发。它提供了直观的可视化布局编辑功能,包括拖放式界面设计工具、实时预览、代码生成功能、多平台支持、紧密集成、SWT/JFace和GWT支持、智能代码完成、调试工具,以及版本控制集成。开发...

weixin_33750664的博客 1686

UI5-学习篇-13-Eclipse 开发UI5应用

1.Eclipse环境配置及组件安装  UI5-学习篇-1-Eclipse开发工具及环境搭建 2.创建项目       3.设置代理映射  打开WebContent->WEB-INF->web.xml文件,设置代理地址:  <servlet> <servlet-name>SimpleProxyServle...

abbilglf665483的博客 561

Eclipse Oxygen集成开发环境最新特性解析

Eclipse是一个开放源代码的Java集成开发环境(IDE),最初由IBM公司资助的开源软件社区开发。它广泛用于Java开发,但通过安装不同的插件,也可以用于C、C++、PHP、Python等其他编程语言。Eclipse以其高度的可扩展性而闻名,其功能可以通过安装社区提供的各种插件来定制和扩展。Eclipse作为一个功能强大的集成开发环境(IDE),其核心特性之一就是插件体系结构。这个体系结构允许开发者或第三方厂商为Eclipse平台增加新的功能,从而拓展IDE的能力。

weixin_32661831的博客 1371

UI5 配置

UI5配置

qq_48265856的博客 186

Eclipse Swing插件:高效Java GUI开发工具包

Eclipse起源于IBM资助的一个名为“Project VisualAge”的项目。2001年,IBM将Eclipse贡献给了开源社区,使它成为一个独立的项目。Eclipse迅速成为一个流行的集成开发环境(IDE),支持多种编程语言,包括Java、C/C++、PHP等。随着时间的推移,Eclipse不断演进,推出了多个版本,每个版本都包含了对新特性的增强和对现有功能的改进。Java的图形用户界面(GUI)开发历史始于1990年代中期,随着Java语言的诞生而兴起。

weixin_35899324的博客 1270

Eclipse SWT与JFace图形界面编程精进

本文还有配套的精品资源,点击获取 简介:SWT和JFace是Eclipse平台中用于构建图形用户界面的重要组件。SWT提供了与操作系统交互的底层API,实现了高效的性能和原生界面外观,而JFace则建立在SWT之上,简化了GUI开发并引入了MVC设计模式。掌握这些工具将使开发者能够创建具有原生用户体验和复杂界面需求的应用程序,同时提高代码的可维护性和可扩展性。通过学习SWT...

weixin_42581846的博客 1724

Eclipse开发UI5 – 使用WebIDE生成的代码模板

前面文章介绍了如何使用WebIDE生成代码,因为在WebIDE中开发速度比较慢,最好是能够把这些代码转到Eclipse中,然后继续在Eclipse开发。作为本地的开发工具,速度毕竟很快,同时可以使用Eclipse自带的很多功能,本文将介绍如何把WebIDE中的代码转移到Eclipse中。安装Eclipse首先下载Eclipse,这里就不给出具体链接了,大家可以网上搜索,我使用的版本是LUNA。注意,

翱翔云天 1290

java 界面UI开发资料-Eclipse SWTJFace开发实战精解

Eclipse SWTJFace开发实战精解 Java程序设计之swt教程

eclipse配置 SAP UI5

eclipse配置open UI5

杏子 2255

Altium Designer 18 将Gerber文件逆向转换成PCB(详细记录)

自己看了网上的教程,弄了很久,估计还有不足的地方,但是先把思路理一理(初学AD) 同时遇到了许多问题: 不是AD导出的Gerber估计不能自动识别层 要自己设置层顺序 要有钻孔文件数据制作NC工具(我也不懂是怎么说,就是size尺寸的) 这里记录一下,以防忘记。 正常顺序: 1.新建CAM 2.导入Gerber,选择CAM文件夹下的所有文件导入 3.设置层属性和物理顺序 4.设置NC工具 5.提取网络表 ...

lb_monkey的博客 1万+

Oracle监听配置

Oracle监听配置## 标题 选择“监听程序配置”,然后下一步。 选择重新配置,然后下一步/。 不用管,按下一步。 下一步。 选择“否”,下一步。 选择"本地net服务名配置",然后下一步。 选择“重新配置”,然后下一步。 服务名 是"Oracle",然后下一步。 主机为你的IP地址,在doc系统下通过"ipconfig"获取IP地址。然后输入,然后下一步。 选择“是,进行测试...

m0_46079215的博客 807

eclipse注释模板与格式化模板

不管是注释模板还是格式化模板,都是让我们的代码有一个统一的规范,可以方便程序员阅读,提高代码的可读性,对于代码后期维护提供了巨大的帮助。 一.注释模板 一般我们在开发过程中固定注释表现为对文件、类、方法,属性等注释,文件的注释信息一般都包括:版权,作者,版本等信息;类的注释信息包括:类名、功能、作者等;方法注释信息包括方法名称,方法功能,方法形参,方法返回值等。如果我们设置一个模板,然后通过快捷键就可以自动生成注释,不仅每个人的注释一样,有统一规范,而且提高了我们的开发效率。下面介绍下eclipse注释

tao438031498的博客 1556

AutoCAD2016安装破解教程

AutoCAD2016安装破解教程。本人亲自实验,破解成功,有效。以64位为例。 工具/原料   笔记本电脑 AutoCAD2016安装包 AutoCAD2016注册机(xf-adsk2016_x64.exe)链接:http://pan.baidu.com/s/1cAZQA windows7/8/8.1/10-32...

weixin_33804990的博客 1万+

Fiori学习笔记 - Eclipse创建一个SAP UI5工程

初学Fiori,首先便是要创建一个SAP UI5工程,于是在此记录一下在Eclipse创建的整个过程。Library 通常会选择sap.m,这个库支持手机,zooming,是一个响应式的框架,是跨平台开发最常用的基础库 Options: Create an Initial View, 是否创建一个初始的View,可以创建两个项目看看勾选与否的差异。创建好项目之后,可以运行项目看下效果:有时会遇到代

Carawangc的博客 2819

从Gotham到Foundry:拆解Palantir三大产品线,看它如何用‘本体’统一企业数据与AI

本文深入解析Palantir的三大产品线Gotham、Foundry和Apollo,揭示其如何通过独特的'本体'架构实现企业数据与AI的无缝融合。从国防情报到商业决策,Palantir的产品架构展现了强大的数据整合与AI赋能能力,为企业构建数字孪生提供革命性解决方案。

weixin_30823001的博客 321

2023年高教社杯 | 2023年高教社杯全国大学生数学建模思路(A题思路、C题思路)

2023年高教社杯 | 2023年高教社杯全国大学生数学建模思路(A题思路、C题思路)

前程算法屋的博客 624

UI5-学习篇-1-Eclipse开发工具及环境搭建

最近研究SAP-UI5好几个月了,将相关学习经历及问题点做个记录。 1.先了解学习资料相关站点   SAP官网:https://www.sap.com/china/index.html   SAP开发工具:https://tools.hana.ondemand.com/#sapui5   UI5Documentation:https://openui5.hana.ondeman...

abbilglf665483的博客 599

使用 MATLAB/Simulink + Simscape Electrical + SimPowerSystems + Stateflow,构建一个多能互补微电网系统的动态响应仿真模型

本文详细介绍了使用MATLAB/Simulink构建多能互补微电网动态响应仿真模型的方法。文章从系统架构设计入手,包含光伏、风电、柴油发电机、锂电池储能等多种组件,重点讲解了建模过程、控制策略(下垂控制、PLL、SOC管理)和模式切换逻辑(Stateflow)。通过四种典型场景(负荷突增、光伏出力骤降、并网/孤岛切换、电动机启动)的仿真分析,验证了微电网在动态响应中的关键性能指标,并提出了高可靠性设计建议。该模型为微电网的稳定性分析和优化设计提供了有效工具,特别强调了储能系统在快速功率支撑中的重要作用。

amy_mhd的博客 160

Eclipse 实现 Java 编辑器【一】(制作GUI界面)

建立项目并完成 GUI 界面的编程实现。在本次实验中,我们完成了项目的创建以及 GUI 界面实现界面组件事件响应逻辑和 Java 文件的编辑、编译及运行。

是微风,是晚霞,是无可替代 7518

YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 2311

NTN(三) Timing

这篇看下k_offset和k_mac,如38.300所述,k_offset是配置的调度偏移量,需要大于或等于service link RTT和Common TA之和;k_mac 是配置的偏移量,需要大于或等于 RP 和 gNB 之间的 RTT。 相关参数会通过RRC层NTN-config配置,其中的cellSpecificKoffset-r17和kmac-r17主要用于各种Timing场景的偏移。 kmac:如果DL和UL frame timing 在 gNB端未对齐,网络端

asd199086的博客 4828

UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器

参考路径: https://blogs.sap.com/2017/11/19/sap-fiori-ui5-application-deployment/ 1.准备环境 2.上载SAP-FIORI前端服务Upload in SAP-Fiori (front-end) server  Details required to deploy the app are as follow...

abbilglf665483的博客 442

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SAPUI5 (01) - OpenUI5环境搭建

介绍 OpenUI5 开发环境搭建

王敏的专栏 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

[UI5 常用控件] 09.IconTabBar,IconTabHeader,TabContainer

本章节记录常用控件 IconTabBar,IconTabHeader, TabContainer

小峰的ABAP博客 1759

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

mac下eclipse的SAP FIORI开发环境搭建完整版(包括Eclipse里打开SAP GUI For java)

初次接触SAP Fiori开发,想搭建一个本地开发环境,可以看过来。之前走了弯路,还出不少错。现在从最简单的开始。 找合适的版本的Eclipse版本 直接从sap官网上查看,如下图所示 SAP Development Toolshttps://tools.hana.ondemand.com/#我们先从ABAP开发开始,就选最新的版本 我们就从eclipse官网找最新的版本 Eclipse Packages | The Eclipse Foundation - home to a global

javaboy2001的专栏 1664

SAP UI5初步结构分析研究(一)

SAP UI5初步结构分析研究由于公司需要,在一周前开始接触SAP UI5(OPEN UI5)的学习,由于没有前辈指导,所以自己在网上搜寻资料并且初步总结了一些关于这款框架的一些结构和思路,在博客上进行进一步的整理,欢迎大家前来分析探讨和指教,个人想法,有些地方颇有不足还请指出~ 环境及编辑器的安装 整体结构分析以及与主流框架对比 个人总结 其他参考信息链接 环境及编辑器的安装关于SAP UI5网上

钟大灵的博客 1279
上一篇: UI5编程 – 注册service到SAP gateway server
下一篇: UI5开发 – 发布到Fiori LaunchPad以及调试
翱翔云天SAP
博客等级 码龄20年 202粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值