`
enhydra
  • 浏览: 106216 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

backbase

阅读更多

backbase 是一个企业级的AJAX框架
它分成二部分 js引挚bpc(backbase presentation client)和标签(B,S)
它的命名空间是xmlns:b=http://www.backbase.com/b,xmlns:s=http://www.backbase.com/s
 BXML 是 stands forBackbase eXtensible Markup Language
 三部分:
 System tags (s:tags)
 Backbase controls (b:tags)
 Generic attributes (b:tags)
 Events and commands (b:tags)

XPathis a language for addressing parts of anXMLdocument 
 

 以下是一些问题的解答

 

xml 代码
  1.   
  2.     1. How to access data entered to the datagrid by the user?   
  3. 每个能够编辑的列都有一个控件实例来供用户输入新的值,这个控件实例就在<b:datatype>中定义,并且这个实例被整个列的所有单元格共享。如果想在用户输入之后立即得到新值,可以相应这个实例的blur事件,用户输入的值一般在value 属性中存储。例如:   
  4. <b:datatype b:name="text">  
  5.          <input type="text" value="default" >  
  6.         <s:event b:on="blur">  
  7.             <s:task b:action="alert" b:value="{@value}" />  
  8.         s:event>  
  9.      input>  
  10. b:datatype>  
  11. 选中的单元格的HTML引用在b:datagrid实例的datagrid-selected-cells 变量中存储。访问这个变量就可以知道当前选中的单元格。   
  12.   
  13. 如果想在用户对整个页面编辑之后一起提交所有的更改。可以使用如下代码:   
  14. <b:button>send changes   
  15. <s:event b:on="command">           
  16.             <s:task b:action="send" b:source="id('datagrid1')/b:datagridbody/html()/table/tbody/tr[@b:status]" b:destination="id('datagrid1')" b:url="response.jsp" b:mode="replace" />  
  17.             <s:task b:action="remove" b:target="id('datagrid1')/b:datagridbody/html()/table/tbody/tr/@b:status" />  
  18.          s:event>  
  19. b:button>  
  20. 在上述代码中,datagrid的id是datagrid1,当用户点击这个按钮的时候,就会把所有编辑过的行发送到服务器端。并用服务器返回的新的整个的datagrid数据替换现有的。 注意,一旦有一个单元格被编辑过,它所在行的b:status属性就被摄制了updated,当提交完所有的更改之后需要手动删除这个属性,以恢复到其初始状态。当然服务器返回的数据可以是一个成功与否的标志,不需要是整个datagrid的数据,如果想手动解析服务器返回数据,可以把返回的数据存储到一个变量中。这个变量在send task的b:destination属性中被指定。   
  21.   
  22.   
  23. 2. Can you control only loading the focused window?   
  24. B:window的b:open属性指定是否默认状态下窗口是显示的,并不制定何时装载窗口数据。如果需要当窗口打开的时候再装载数据,可以手动相应b:window的show事件。并用load命令装载数据并插入到窗口中。请看如下代码:   
  25.     <b:button>  
  26.         load on open   
  27.         <s:event b:on="command">  
  28.             <s:task b:action="show" b:target="id('window')"/>  
  29.         s:event>  
  30.     b:button>  
  31.     <b:window id="window" b:open="false" style="left:100px; top:100px">  
  32.         <b:windowhead>  
  33.             Title   
  34.         b:windowhead>  
  35.         <b:windowbody>  
  36.                
  37.         b:windowbody>  
  38.         <s:event b:on="show">  
  39.             <!---->
  40.             <s:task b:action="load" b:url="iframe.xml" b:destination="b:windowbody" b:mode="replacechildren" b:test="count(b:windowbody/*) = 0" />  
  41.         s:event>  
  42.     b:window>  
  43. 其中的iframe.xml文件包含了<iframe> tag, 比如:   
  44. <!---->xml version=”1.0”?>  
  45. <iframe src=”f.do?” style=”width:100%;height:100%;overflow:hidden;”>iframe>  
  46. 3. How to control add/delete new records in the datagrid?   
  47. 在客户端删除行可以调用datagrid的delete-row方法。请看如下代码:   
  48. <div>  
  49. Delete selected rows   
  50. <s:event b:on=”command”>  
  51.     <s:task b:action="trigger" b:event="delete-row" b:target="id(datagrid1)" />  
  52. s:event>  
  53. div>  
  54. 当行被删除以后此行的b:status属性会被自动设置成deleted.可以用xpath检测这个属性来得知那些行被删除了,以便提交到服务器端,类似的检测和提交代码请参照第一个问题的示例代码。   
  55.   
  56. 添加新行需要首先发送一些数据通知服务器端,告诉服务器需要添加一个新行,同时也可以使用一些初始化值,然后等待服务器端发送整个datagrid,包含已经添加的新行到客户端。   
  57.   
  58. 发送添加新行的通知可以使用send命令,例子如下:   
  59. <b:button>  
  60.     Add New Row   
  61.     <s:event b:on="command">  
  62.         <!---->
  63.         <s:variable b:name="request">  
  64.             <request>  
  65.                 <addrow>  
  66.                     <cell>this is initial data for column 1cell>  
  67.                     <cell>this is initial data for column 2cell>  
  68.                 addrow>  
  69.             request>  
  70.         s:variable>  
  71.         <!---->
  72.         <s:task b:action="send" b:url="server.jsp" b:source="$request" b:destination="id('datagrid1')" b:mode="replace" b:autoroot="false" />  
  73.     s:event>  
  74. b:button>  
分享到:
评论

相关推荐

    Backbase Client Edition 4.7 功能展示

    **Backbase Client Edition 4.7 功能展示** Backbase Client Edition 4.7 是Backbase公司推出的一款强大且功能丰富的Web应用开发平台,专为构建现代化、交互式的银行和其他金融服务界面而设计。该版本主要关注提升...

    BackBase Client Framework 4.7

    Backbase已经商业化了,商业化之前的最后版本就是4.7了。兼容各种浏览器的Web前端框架,自定义标签使用非常方便。

    BackBase API

    BackBase是一个不错的ajax框架,在此上传一个不错的BackBase api

    PacktPub.Backbase.4.RIA.Development.Dec.2009.rar

    《PacktPub.Backbase.4.RIA.Development.Dec.2009.rar》是一个压缩文件,其中包含了关于Backbase 4 Rich Internet Application (RIA) 开发的详细资料,特别是出版于2009年12月由Packt Publishing发布的电子书...

    backbase api

    Backbase API 是一个专为构建企业级数字体验平台而设计的框架,其核心在于提供一套强大的工具和服务,帮助开发者创建华丽、高效的用户界面。在Backbase框架中,API(Application Programming Interface)扮演着至关...

    backbase-robert:后台 CXP 组件

    后台 CXP 组件Backbase CXP 演示包。 在开发环境中使用 Launchpad 11 原型进行测试。安装说明 cd {your-backbase-project}git clone ...

    backbase_4_2_0

    一个不错的框架,直接放到tomcat下就可以使用

    angular-backbase-generator:Backbase 角度生成器

    $ cd backbase-angular $ npm install $ bower install ####测试: $ grunt test 生成器预装了并与集成进行测试 ####服务器: $ grunt serve ####建造 $ grunt build 关于这个发电机 ###Backbase ####...

    backbase-widget-dependencies-proposal

    新的 Backbase 小部件依赖结构的提案该提案最初是为,但可以与任何类型的独立前端小部件一起使用。 大部分结构描述在这个 README 文件中定义,包括安装工具 ( backbase-cli install ) 逻辑。 项目源中还列出了一些...

    backbase-openapi-tools:Backbase Open Api Tools(船)有助于管理大型OpenAPI项目,并从RAML 1.0规范迁移到OpenAPI 3.0

    Backbase OpenApi工具Backbase Open API Tools是为与OpenAPI高效协作而创建的一系列工具目前由RAML 1.0转换器到OpenAPI 3.0 在相同规格的2个OpenAPI版本之间创建差异报告(基于 ) 分解Transformer从OpenAPI规范中...

    golden-sample-services:此项目是[Backbase Service SDK](https

    Backbase Golden Sample MicroServices系统该项目是基于 ( Spring Boot和Cloud )的微项目的一小部分开发,这些项目实现了云原生的直观,微服务设计模式和编码最佳实践。 该项目遵循建议和构建软件即服务应用程序的...

    BB-Sublime-snippets:Backbase sublime 片段,如小工具命名空间标签和 jstlcore

    Backbase 特定的 Sublime 片段Backbase sublime 片段,如 gadget 命名空间标签和 jstl/core。 有两个带有自己的选项卡完成短代码的片段包。用法: 将它们放在您的 Sublime Text 应用程序支持文件夹中:~/Library/...

    backbase_atm

    【标题】"backbase_atm" 指的可能是一个基于Backbase平台的ATM(自动取款机)系统项目,这个系统可能是用Java语言开发的。Backbase是一家知名的数字银行平台提供商,其产品通常用于构建银行和其他金融机构的在线和...

    backbase-boot-camel

    Backbase后端测试 要启动,请运行:mvn spring-boot:run 然后,执行GET http请求至: 即 回复 {“ com.backbase.model.GeocodeResponse”:{“ formatted__address”:“ Castellumweg 11,2314 TZ Leiden,...

    Backbase-Theme-Server

    ###Lightweight Backbase 主题服务器此存储库将 zip 解压缩到您的/theme文件夹中在/theme文件夹中$ npm install运行$ npm install的依赖项运行$ gulp命令。 这将运行默认任务。 如果你还没有只需输入$ npm install ...

    bb-lp-cli:Backbase cli 工具

    Backbase Launchpad-CLI 工具用于小部件/模块的 Backbase Launchpad 构建信息名称版本节点bb-lp-cli 0.0.3 &gt;= 0.10安装 npm i bb-lp-cli -g用法使用bblp作为二进制文件。 bblp build

    backbase-build-titanium:用于压缩和构建 Titanium App 小部件的 Grunt 配置

    backbase-build-钛 用于压缩和构建 Titanium App 小部件的 Grunt 配置

    levi-a-fun:我们在Backbase Hackathon 2015期间构建的应用程序

    利维阿芬 这是在Backbase Hackathon 2015期间开发的移动应用程序。 它显示了NFC对等数据发送如何使付款过程变得更加容易。 为了构建此应用程序,我们使用了Ionic,PhoneGap和NFC插件。

Global site tag (gtag.js) - Google Analytics