Bonjour,
Je suis débutant dans le développement web et je m'intéresse à JSF et richfaces.
J'aimerai faire un rich:panel comme ci-dessous....
...néanmoins les onglets doivent être ajoutés dynamiquement d'après les données contenues dans un backing-bean.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <rich:tabPanel> <rich:tab label="tab 1"> <ui:include src="panelInsideTab.xhtml"> <param name="param1" value="hello"/> </ui:include> </rich:tab> <rich:tab label="tab 2"> <ui:include src="panelInsideTab.xhtml"> <param name="param2" value="goodbye"/> </ui:include> </rich:tab> </rich:tabPanel>
J'ai essayé de boucler à l'aide du tag <ui:repeat>, malheureusement j'obtiens l'erreur suivante : "tab panel has no enabled or rendered tabs!"
Apparemment il n'apprécie pas trop que le tag <ui:repeat> se mette entre le tabPanel et les tabs.
J'ai ensuite essayé de déléguer la construction du tabPanel dans une classe Java...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <rich:tabPanel> <ui:repeat value="#{tabBean.list}" var="tab"> <rich:tab label="#{tab.name}"> <ui:include src="panelInsideTab.xhtml"> <param name="param1" value="#{tab.message}"/> </ui:include> </rich:tab> </ui:repeat> </rich:tabPanel>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<rich:tabPanel binding="#{tabBean.tabPanel}"/>
Dans ce cas, les onglets se construisent correctement. Par contre, je ne sais pas comment inclure une page dans ces onglets....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public HtmlTabPanel getTabPanel() { tabPanel = new HtmlTabPanel(); HtmlTab tab = null; for (Person p : getList()) { tab = new HtmlTab(); tab.setLabel(p.getName()); tabPanel.getChildren().add(tab); } return tabPanel; }
Est-ce que quelqu'un aurait une piste ?...ou une meilleure approche ?
Merci d'avance pour votre aide.
Christo
Partager