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

Excel数据分析实例

Excel数据分析实例 Excel数据分析五步走: 明确目的——观察数据——数据清洗——数据分析——数据可视化 数据是从Kaggle上下载的,牛油果的案例 目的 数据分析都是为了企业业务做得更好,这次案例主要针对于牛油果的销售量进行分析。 数据 检查是否有缺失值、是否一致化、是否有脏数据 分析 1.不同区域不同季度的牛油果价格走势 从上图中可以看出,东北地区的价格一直较高,而中南地区一直较低 2.2015-2018四年不同城市的销售总和 3.四年间不同城市的销售排名(降序排序) 可视化 1.四年间销

m0_53033371的博客 4369

MicroPython跨平台移植实战:从源码解析到STM32+FreeRTOS部署

本文详细解析了MicroPython的跨平台移植实战,重点介绍了如何将其从源码开始,成功部署到STM32微控制器并运行于FreeRTOS实时操作系统。内容涵盖源码结构解析、编译环境搭建、内存管理协调、FreeRTOS任务集成、数学库(math)启用与优化,以及自定义模块开发等核心步骤,为开发者提供了一套完整的、可操作的嵌入式Python移植方案。

vodka的博客 1014

eclipse注释模板与格式化模板

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

tao438031498的博客 1556

使用 DeepSeek 配合 即梦AI 生成视频的详细教程

访问即梦AI官网,选择“AI作图”功能,将DeepSeek生成的提示词逐条粘贴至输入框,选择适配的模型(如“通用XL Pro”)和参数(如画幅比例、风格强度)1113。“我要制作一个关于普洱茶文化的宣传视频,请设计一个30秒的脚本,包含时间轴、画面描述、文案和分镜提示词,以表格形式输出。:云南古茶树群,清晨薄雾,金色晨光,露珠特写,国风山水画质感,16:9画幅,使用Nikon D850参数模拟513。:结合DeepSeek生成的知识点脚本与即梦AI的插画风格,制作科普动画211。

weixin_48995695的博客 3万+

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

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

Carawangc的博客 2819

十二、基于FPGA实现slave SelectMAP配置逻辑

slave SelectMAP配置

weixin_41838250的博客 8755

精度0.01%决定续航多20km|新能源汽车研发测试:功率分析仪到底有多硬核?

新能源汽车测试、功率分析仪、电驱系统、效率MAP、谐波THD、GB/T18488、CLTC工况、三电测试、台架标定、能量流分析。中的核心作用,用公式、思维导图、实战金句与避坑指南,帮研发测试人员把准数据、提效率、降返工,看完就能落地用。点击关注,进公众号主页查看历史文章,**台架接线图、效率MAP模板、GB/T18488测试清单等。优化弱磁/调制策略,高效区占比提升5%,CLTC续航直接+8~20km。同样工况,两次数据差0.8%,报告根本没法交。结果:数据飘、定位慢、反复返工、认证不过。

优快云-新能源汽车研发测试专业博主 170

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

嵌入式面经(2)——央企篇

前文得知我只投央企,不投国企,有面试的央企大致有三类:感兴趣的同学可以和我私聊军工央企相关(航空航天,兵器兵工)制造央企相关(三桶油,装备制造)金融运维相关(信通集团,国有银行)接下来我将对我有的面试中询问的面经进行总结。

coldmood77的博客 473

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

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

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

【报错解决】OpenClaw 报错 `openclaw: command not found`:全局命令未加入系统 PATH 的深度排查与修复指南

在国产AI工具链开发中,OpenClaw作为关键命令行工具常出现command not found报错。本文深度分析该问题的根源——Linux环境变量PATH未包含用户级安装目录(~/.local/bin)。通过四种解决方案(临时PATH修改、永久配置、软链接、虚拟环境处理)和排错Checklist,揭示"命令存在却找不到"的本质是路径配置问题,特别适用于Docker/国产Linux/非root环境。文中强调理解Linux工具链机制对国产AI开发的重要性,并指出这是开发者掌握环境

博客 5383

红薯游客小眼睛接口分析与Python脚本实现

小眼睛接口与请求流程分析,使用Python实现小眼睛+1

吴秋霖的博客 2615

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

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAPUI5 (01) - OpenUI5环境搭建

介绍 OpenUI5 开发环境搭建

王敏的专栏 2万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

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

小峰的ABAP博客 1759

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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、付费专栏及课程。

余额充值