Oracle ADF:选项卡式窗格 - 重定向到它时始终显示第一个选项卡

时间:2015-03-28 12:37:26

标签: oracle-adf jdeveloper

我们正在使用Oracle ADF开发Web应用程序。在这里,我们有一个tabbedpane页面,如下所示

enter image description here

在上图中,我们有两个标签Account Payable和Accounts Receivable。每个选项卡都有绿色和红色图像(这是一个commandImage)。当用户点击任何图像意味着红色或绿色时,他将被导航到另一个页面。在该页面中,我们提供了另一个名为返回的按钮。这个tabbedpane和另一个页面(第二页)是.jsff,我们将它作为一个区域删除。我们的问题是,当用户点击另一个页面中的后退按钮时,即使他点击了第二个标签中的按钮,它也始终显示第一个标签。

所以我们需要实现以下目标。

如果用户在第一个标签页中点击红色或绿色图像,当他点击后退按钮时,必须将其重定向到第一个标签页。

如果用户在第二个标签页中点击红色或绿色图像,当他点击后退按钮时,必须将其重定向到第二个标签页。

我们如何实现这一目标。请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您在Session范围上有支持bean - myBean:

<af:panelTabbed id="pt1">
  <af:showDetailItem disclosureListener="#{myBean.tabSelected}" text="Accounts Payable" disclosed="#{myBean.selectedTab == "sdi1"}" id="sdi1"/>
  <af:showDetailItem #{myBean.tabSelected} text="Accounts Receivable" disclosed="#{myBean.selectedTab == "sdi2"}" id="sdi2"/>
</af:panelTabbed>

你应该看看bean:

public MyBean {

private String tabSelected; //make sure you add getter and setter too!!! 

   public void tabSelected(DisclosureEvent disclosureEvent) {
      if (disclosureEvent.isExpanded()) {
        UIComponent uiComp = (UIComponent)disclosureEvent.getSource();
        tabSelected = uiComp.getId();
      }
   }
}

如果两个页面都是同一个有界任务流的一部分,那么你的支持bean也可以有pageFlowScope。

更多详情,请点击此处:

https://docs.oracle.com/middleware/1212/adf/TROAF/tagdoc/af_showDetailItem.html

http://adfhowto.blogspot.co.uk/2011/05/when-disclosurelistener-of-paneltabbeds.html