मान लें कि मैं <rich:tabPanel>
घटक के भीतर <rich:tab>
तत्वों का एक चर सेट सेट करना चाहता हूं। इसलिए मैंने ऐसा करने की कोशिश की:गतिशील रूप से <rich:tab> तत्व बनाने का कोई तरीका है?
<rich:tabPanel switchType="client" ...>
<ui:repeat value="#{myBean.myTabs}" var="tab">
<rich:tab name="#{tab.name}" label="#{tab.label}"/>
</ui:repeat>
</rich:tabPanel>
लेकिन यह काम नहीं किया, क्योंकि कोई टैब प्रस्तुत नहीं किया गया है।
j_id174: tab panel has no enabled or rendered tabs!
यह समस्या उदाहरण here के लिए, दूसरों के लोगों द्वारा सामना किया जा रहा है: मैं भी लॉग में निम्न संदेश मिला है।
इसलिए पिछले धागे द्वारा सुझाए गए अनुसार, मैंने को <c:forEach>
द्वारा प्रतिस्थापित किया लेकिन समस्या अभी भी होती है।
<rich:tabPanel switchType="client" binding="#{tabNavigationBean.tabPanel}"
</rich:tabPanel>
और फिर मेरी जावा सेम में:
private HtmlTabPanel tabPanel; // + getter and setter
public void setTabPanel(HtmlTabPanel tabPanel) {
this.tabPanel = tabPanel;
if (tabPanel != null) {
createTabs();
}
}
private void createTabs() {
Application application = FacesContext.getCurrentInstance().getApplication();
HtmlTab newTab = null;
for (DedicatedPageTab dpt : getDedicatedPageTabs()) {
newTab = (HtmlTab) application.createComponent(HtmlTab.COMPONENT_TYPE);
newTab.setLabel(dpt.getLabel());
newTab.setName(dpt.getName());
tabPanel.getChildren().add(newTab);
}
}
इस कोड काम कर रहा है
मैं अपने <rich:tabPanel>
घटक के binding
विशेषता का उपयोग कर इस समस्या को हल करने के लिए एक रास्ता है।
हालांकि, मेरे सवाल अगर मैं मेरी समस्या का समाधान कर सकते बिना binding
विशेषता है (यानी एक 100% शुद्ध एक्सएचटीएमएल समाधान) का उपयोग पता करने के लिए है?
तकनीकी जानकारी: जावा 1.6, JSF 1.2 + Facelets, Richfaces 3.3 – romaintaz
मैं अगर यह किसी भी बेहतर काम करेगा, लेकिन कोशिश नहीं जानते? –
Naganalf
@Naganalf ने बिना किसी सफलता के प्रयास किया :( – romaintaz