Bonjour

J'ai un probleme de refresh du composant selectOneMenu :

Je n'arrive pas à le faire fonctionner pour un tableau d'Objets (ici "Branch") : la branch sélectionnée n'est pas mise à jour dans l'outputText

Pourtant j'ai essayé avec un simple tableau de Strings et dans ce cas il fonctionne sans problème : lorsqu'on sélectionne une lettre depuis la liste déroulante, la requete Ajax fonctionne bien et l'ouputText renvoie la lettre sélectionnée

Pourtant le wiring semble identique (??)

Merci d'avance pour toute aide !! je suis bloqué

Voici la vue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
        <h:form>
            <h:panelGrid>
                <h:selectOneMenu value="#{bean.selectedBranch}">
                    <f:ajax execute="@this" render="selectedbranch"/>
                    <f:selectItems value="#{bean.branches}" var="b" itemLabel="#{b.name}"/>
                </h:selectOneMenu>
                <h:outputText id="selectedbranch" value="#{bean.selectedBranch.name}"/>
            </h:panelGrid>
        </h:form>
et le 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
16
17
18
19
@ManagedBean
@SessionScoped
public class Bean {
 
    @PostConstruct
    private void init() {
        branches = new Branch[]{
            new Branch("branch 1", "br1", 1),
            new Branch("branch 2", "br2", 2),
            new Branch("branch 3", "br3", 3),
            new Branch("branch 4", "br4", 4)};
        selectedBranch = branches[0];
    }
 
    public Bean() {
    }
    private Branch[] branches;
    private Branch selectedBranch;
    // getters and setters