簡體   English   中英

JSF icefaces中的選項卡選擇問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM