我在ADF中有一个具有常见功能的项目,例如Last,Next,Rollback和First。
我有很多包含相同功能的jsff页面。所以我在一个jsff页面(commonButton.jsff)中添加了这些常用功能,并希望将它们作为包含文件嵌入到使用它们中。
因此具有通用功能的文件名为commonButton.jsff,并在下面显示相关的ID:
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:button disabled="#{!bindings.Last.enabled or bindings.Rollback.enabled}" id="b4" partialSubmit="true"
icon="#{resource['images:Last.png']}" actionListener="#{bindings.Last.execute}"/>
<af:button disabled="#{!bindings.Next.enabled or bindings.Rollback.enabled}"
icon="#{resource['images:Forward.png']}" id="b3" partialSubmit="true"
actionListener="#{bindings.Next.execute}"/>
<af:button disabled="#{!bindings.Previous.enabled or bindings.Rollback.enabled }"
icon="#{resource['images:Back.png']}" id="b2" partialSubmit="true"
actionListener="#{bindings.Previous.execute}"/>
<af:button disabled="#{!bindings.First.enabled or bindings.Rollback.enabled}"
icon="#{resource['images:First.png']}" id="b1" partialSubmit="true"
actionListener="#{bindings.First.execute}"/>
<af:button icon="#{resource['images:Print.png']}" text="#{res.PRINT}" id="b5">
<af:showPrintablePageBehavior/>
</af:button>
我在main.jsff中包含了commonButton.jsff文件,如下所示:
<af:toolbar id="tb1">
<ui:include src="/WEB-INF/commonButton.jsff" />
</af:toolbar>
注意在Web Content文件夹下找到commonButton.jsff。
因为我已将main.jsff中的按钮移除到commonButton.jsff,所以出现了以下ID不存在的编译错误: :: b4 :: b3 :: b2 :: b1
下面显示的代码片段可以识别编译错误:
<af:table value="#{bindings.module.collectionModel}" var="row"
rows="#{bindings.module.rangeSize}"
emptyText="#{bindings.module.viewable ? 'No data to display.' : 'Access Denied.'}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.module.collectionModel.selectedRow}"
selectionListener="#{bindings.module.collectionModel.makeCurrent}"
rowSelection="single"
fetchSize="#{bindings.module.rangeSize}" id="resId1"
partialTriggers="::b4 ::b3 ::b2 ::b1" scrollPolicy="page">
我知道怎样才能将commonButton.jsff中的id带到main.jsff吗?
提前感谢您提供任何帮助
答案 0 :(得分:0)
它不会那样工作。你必须在任务流程中思考&#34;使用ADF时。这意味着,您需要创建一个包含commonButton.jsff的有界任务流。然后在页面中删除该任务流程。
但是,由于您正在考虑在整个应用程序中创建一组可重用的按钮,理想的解决方案是创建一个声明性组件: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/24-generic-toolbar-component-169163.pdf