Eleven.Xu @eleven.xu ?

active 3 days, 10 hours ago
  • Eleven.Xu wrote a new blog post: 使用af:forEach展现数据   3 weeks ago · View

    Thumbnail

    概述

    在ADF中,有时为配合展现集合类型的数据,会使用到af:forEach或af:iterator,在此以af:forEach为例对其用法进行简单的说明。

    实现

    1、创建ADF应用,基于HR Schema的Jobs表创建EO/VO并生成AM,将VO的实例添加到AM的Data Model中
    2、新建页面,生成pageDef
    3、在pageDef中添加绑定,绑定类型为tree

    4、tree类型的绑定关联到前面添加到AM中的VO实例,作为foreach的数据源
    5、绑定添加完成后,pageDef应如图
    6、为更好地对页面进行布局,在此引入trinidad组件库,即trh:标签,需要在Tag Library中将其引入
    7、选择af:forEach组件,并将其拖到页面中,填写其绑定信息
    8、使用trh:tableLayout为页面进行适当布局,布局后的页面结构如图:
    9、保存应用,运行应用,结果如图

    详细代码请查看:howtoforeach.rar

  • Eleven.Xu wrote a new blog post: 构建基于XML的Menu Model   3 weeks, 2 days ago · View

    Thumbnail

    概述 Oracle ADF提供了基于JSF的Menu Model构建方式,通过声明式的开发方式构建菜单及菜单项之间的跳转。基于XML的菜单与ADF Security结合,可以实现对于用户访问安全性的良好控制,对于开发人员来说,简化了开发难度及维护难度。下面将以一个具体的实例,具体说明如何实现基于XML的Menu。 需求 1、两级菜单 2、第一级菜单包括三项:top_menu1,top_menu2,top_menu3 3、第二级菜单为第一级菜单的子菜单,隶属关系如下: top_menu1的子菜单:sub_menu1_item1、sub_menu1_item2 top_menu2的子菜单:sub_menu2_item1、sub_menu2_item2、sub_menu2_item3 top_menu3的子菜单:sub_menu3_item3 实现 1、创建Unbounded Task Flow,名为site-menu作为菜单流转规则的编辑载体
    2、根据需求中确认的菜单流转规则,进行Menu Model流转规则的编辑,首先编辑一级菜单 1)第一级菜单以Wild Card Control Flow Rule为起始点 2)拖动三个View到site-menu,分别命名为top_menu1,top_menu2,top_menu3 3)以Wild Card Control Flow Rule为起点,增加指向步骤2)中创建的View的Control Flow Case,分别命名为goMenu1、goMenu2、goMenu3
    完成后的site-menu布局如图:
    3、一级菜单确定后,接着编辑二级菜单,编辑方式类似,以top_menu1为例进行说明 1)Wild Card Control Flow Rule为起始点,新增Wild Card Control Flow Rule到site-menu 2)拖动两个View到site-menu,作为top_menu1的子菜单项,分别命名为sub_menu1_item1、sub_menu1_item2 3)以Wild Card Control Flow Rule为起点,增加指向步骤2)中创建的View的Control Flow Case,分别命名为goMenu1Submenu1、goMenu2Submenu2 完成后的site-menu布局如图:
    4、完成了菜单流转规则的编辑,就可以通过向导生成Menu Model了,方法很简单,在site-menu上点击鼠标右键,选择“Create ADF Menu Model”,如图所示
    5、指定Menu Model的文件名为site_menu
    6、生成Menu Model后,会产生一个Menu Model的配置文件,如图所示
    7、在Structure面板中根据需求中的规则进行编辑,编辑后的节点规则如图所示
    8、一般情况下,常用的Menu节点类型有两种,一种是ItemNode,一种是GroupNode,两者在使用方式上略有不同,ItemNode是实际存在的页面,而GroupNode是一个逻辑的集合,可以引用该集合中的其他页面作为该节点默认指向的页面,在此,我们修改top_menu2为GroupNode 1)在top_menu2中点击鼠标右键,选择“Convert to GroupNode”
    2)选择idref为第一个子菜单
    9、创建页面模板,进行适当布局,将该Menu Model应用到该模板中,由于布局步骤比较繁琐,在此仅张贴核心代码: <af:panelGroupLayout id=”pgl1″> <af:navigationPane id=”np1″ title=”Top Menus” value=”#{site_menu}” var=”topMenus” hint=”tabs” level=”0″> <f:facet name=”nodeStamp”> <af:commandNavigationItem text=”#{topMenus.label}” id=”cni1″ action=”#{topMenus.doAction}”/> </f:facet> </af:navigationPane> <af:navigationPane id=”np2″ title=”Secondary Menus” value=”#{site_menu}” var=”secondMenus” hint=”bar” level=”1″> <f:facet name=”nodeStamp”> <af:commandNavigationItem text=”#{secondMenus.label}” id=”cni2″ [...]
  • Eleven.Xu and bigman are now friends   3 weeks, 3 days ago · View

  • Eleven.Xu wrote a new blog post: 利用Poll实现Table自动刷新   4 weeks, 1 day ago · View

    Thumbnail

    概述

    在Oracle ADF中有一个非常不起眼的组件,却在应用某些特殊需求时比较有用,例如poll,可以定时让页面或页面中的某些组件刷新,最常用的应该是定时刷新Table中的数据,以满足待办事项或办公管理类的功能。

    思路

    由于Poll组件可以定期刷新,因此只需要将需要实现定期刷新的组件的Partial Trigger设置成为Poll的ID即可。


    实现

    1、创建Fusion Application,基于HR Schema中的JOBS表创建EO/VO,生成AM,并添加该VO的实例到AM的Data Model中

    2、在ViewController应用中创建新页面,在Data Conrol面板中将步骤1中生成的VO实例拖到页面中,以Table的形式展现

    3、适当布局页面,选择poll组件,并添加到页面中

    4、设置Table的Partial Trigger为Poll的ID,设置Poll的刷新时间为5000ms,即5秒,并设置PollListener
    5、实现pollListener方法,代码如下:

    public void pollListener(PollEvent pollEvent) {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ValueBinding dcb = fctx.getApplication().createValueBinding(“#{bindings}”);
    DCBindingContainer bindings = (DCBindingContainer)dcb.getValue(fctx);
    DCIteratorBinding dciter =
    bindings.findIteratorBinding(“JobsView1Iterator”);
    Key current_row_key = dciter.getCurrentRow().getKey();
    dciter.executeQuery();
    dciter.setCurrentRowWithKey(current_row_key.toStringFormat(true));
    }

    详细代码请查看:howtopoll.rar

  • Eleven.Xu and 郑虎 are now friends   3 months ago · View

  • Eleven.Xu and MINE are now friends   3 months, 2 weeks ago · View

  • Eleven.Xu and kenshin are now friends   3 months, 2 weeks ago · View

  • Eleven.Xu and Bill Xia are now friends   3 months, 3 weeks ago · View

  • Eleven.Xu and Wells are now friends   3 months, 3 weeks ago · View

  • Eleven.Xu and sullivan are now friends   3 months, 3 weeks ago · View

  • Eleven.Xu and gf are now friends   3 months, 3 weeks ago · View

  • Eleven.Xu and danny are now friends   4 months ago · View

  • Eleven.Xu and hansen are now friends   4 months, 1 week ago · View

  • Eleven.Xu and 何佳佳 are now friends   4 months, 1 week ago · View

  • Eleven.Xu and roebin are now friends   4 months, 1 week ago · View

  • Eleven.Xu and magi are now friends   4 months, 2 weeks ago · View

  • Eleven.Xu and lele are now friends   4 months, 2 weeks ago · View

  • Eleven.Xu and SHEEN are now friends   4 months, 3 weeks ago · View

  • Eleven.Xu and 张建伟 are now friends   4 months, 3 weeks ago · View

  • Eleven.Xu and DDDD are now friends   4 months, 3 weeks ago · View

  • Load More