[英]Tab selection problem in JSF icefaces
我有一個選項卡設置如下,我想在Java中使用綁定選擇動態選項卡。
<ice:panelTabSet var="currentTab" partialSubmit="true" selectedIndex="#{viewBatchBean.tabSelectedIndex}"
value="#{viewBatchBean.batch.batchConfigurationTabList}"
tabChangeListener="#{viewBatchBean.showDefaultValueForTab}"
binding="#{viewBatchBean.panelTabSetRef}">
在這里我將標簽索引設置如下。
panelTabSetRef.setSelectedIndex(0);
它會根據給定的索引設置標簽,但不會將焦點放在該標簽上。
填充panelTabSetRef。
//---
for(SomeObject tabConfig : batchConfigurationTabList){
PanelTab panelTab = new PanelTab();
// Setting appropriate values in panelTab
panelTabSetRef.getChildren().add(panelTab);
}
//---
從PanelTabSet獲取PanelTab組件並進行相應處理。
List<UIComponent> panelTabs= panelTabSetRef.getChildren();
// Selecting tab to set focus
PanelTab focusTab = (PanelTab) panelTabs.get(tabSelectedIndex);
String tabId = focusTab.getId();
//---
可以使用Java腳本在以下選定的選項卡上設置焦點。
JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), "someJSMethodToSetFocus('someForm:"+tabId+"');");
由於未填充面板並從中獲取子級,因此引發了索引超出范圍的異常。 直接呈現<ice:panelTabSet value="#{viewBatchBean.batch.batchConfigurationTabList}"/>
將在相應呈現頁面時填充。 因此,手動填充panelTabSetRef。
在更新的IceFaces版本中,tabIndex屬性已添加到panelTabSet中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.