我们正在使用Oracle ADF开发Web应用程序。在这里,我们有一个tabbedpane页面,如下所示
在上图中,我们有两个标签Account Payable和Accounts Receivable。每个选项卡都有绿色和红色图像(这是一个commandImage)。当用户点击任何图像意味着红色或绿色时,他将被导航到另一个页面。在该页面中,我们提供了另一个名为返回的按钮。这个tabbedpane和另一个页面(第二页)是.jsff,我们将它作为一个区域删除。我们的问题是,当用户点击另一个页面中的后退按钮时,即使他点击了第二个标签中的按钮,它也始终显示第一个标签。
所以我们需要实现以下目标。
如果用户在第一个标签页中点击红色或绿色图像,当他点击后退按钮时,必须将其重定向到第一个标签页。
如果用户在第二个标签页中点击红色或绿色图像,当他点击后退按钮时,必须将其重定向到第二个标签页。
我们如何实现这一目标。请帮忙。提前谢谢。
答案 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