将jsff文件包含到另一个文件时的编译错误

时间:2015-12-18 09:45:52

标签: java html jsp oracle-adf

我在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吗?

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

它不会那样工作。你必须在任务流程中思考&#34;使用ADF时。这意味着,您需要创建一个包含commonButton.jsff的有界任务流。然后在页面中删除该任务流程。

但是,由于您正在考虑在整个应用程序中创建一组可重用的按钮,理想的解决方案是创建一个声明性组件: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/24-generic-toolbar-component-169163.pdf