使用ADF Faces 之三:创建和使用ADF自定义合成组件

开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。

完成《 Creating and Using an ADF Declarative Component 》。

1. 创建Custom Application

为Project添加Liberary:ADF Faces Components:



2. 创建ADF Declarative Component



设置Facets:

设置Attributes:

设置Method:


3. 设计合成组件
设置菜单项User的Text属性:#{attrs.menuLabel}。

设置菜单项User的ActionListener属性:#{comp.handleMethod1}。 

增加Facet:moreMenus


4. 发布合成组件



5. 新建另一个ADF Application
新建一个FileSystem连接:

指向已发布合成组件jar文件所在的目录:

选中ViewController Project,然后添加合成组件jar到该Project:

完成后,在Components下拉列表中,可以看到自定义的合成组件:MyDeclComponents


6. 新建一个页面,拖放自定义的合成组件到页面
设置合成组件的MenuLabel的属性:Hello,该值将会绑定到#{attrs.menuLabel},在这里即菜单项User的Text值。
设置合成组件的Method1属性:#{myBean.myMethod},在这里就点击菜单项User执行的方法。

7. 运行效果如下:



8. 查看引用合成组件的页面代码
可以看出,增加了一个新的namingspace:xmlns:mc="/mycomponents,其指向的就是合成组件的Tag Library。

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
        xmlns:mc="/mycomponents">
    <af:document title="MyPage.jsf" id="d1">
        <af:form id="f1">
            <af:panelGroupLayout id="pgl1" layout="scroll">
                <mc:myMenubar menuLabel="Hello" method1="#{myBean.myMethod}">
                    <f:facet name="moreMenus">
                        <af:menu text="Edit" id="m1">
                            <af:commandMenuItem text="Cut" id="cmi1"/>
                            <af:commandMenuItem text="Copy" id="cmi2"/>
                        </af:menu>
                    </f:facet>
                </mc:myMenubar>
            </af:panelGroupLayout>
        </af:form>
    </af:document>
</f:view>


Project 下载:DeclarativeComponents.7z

http://maping930883.blogspot.com/2009/09/adf023adf-faces-adf.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值