Bonjour,

J'ai un soucis dont je ne vois pas l'origine... J'ai développé il y a un moment un système pour pouvoir modifier dans une table une annotation par le biais d'un InplaceInput. Ceci marchait très bien.

Depuis, de l'eau a coulé sous les ponts. J'ai notemment fait une maj de RichFaces en 3.3.1 et rien ne va plus .

Voici les bouts de code concerné.

Colonne du tableau concernée (l'élément est courrierItem) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<rich:column id="mylettranetBoiteReceptionAnnotation" sortBy="#{courrierItem.courrier.annotation}">
      <f:facet name="header">
             <h:outputText value="#{msg.GLOBAL_libcourt_annotation}"/>
      </f:facet>
      <rich:inplaceInput value="#{courrierItem.courrier.annotation}" selectOnEdit="true" editEvent="onclick" layout="block" >
             <a4j:support event="onviewactivated" reRender="tableCourrier" action="#{boiteReceptionHandler.annoter}" >
                   <f:setPropertyActionListener value="#{courrierItem}" target="#{boiteReceptionHandler.courrierLigne}" />
              </a4j:support>
       </rich:inplaceInput>
</rich:column>
Dans mon controleur boiteReceptionHandler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public void annoter() {
        LOG.debug("annoter()");
        LOG.debug("courrierLigne présent ? " + (courrierLigne != null));
        LOG.debug("annotation : "+courrierLigne.getCourrier().getAnnotation());
        new GestionCourrierProxy().annoterCourrier(courrierLigne.getCourrier());
        LOG.debug("FIN annoter()");
    }
Fonctionnement : lorsqu'un utilisateur modifie l'inplaceInput, le courrier modifié est envoyé dans la variable courrierLigne du controleur et la méthode annoter est appellée.

Résultat : la variable est bien settée et la méthode appellée. Cependant, l'objet courrierLigne ne prend aucun compte des modifications apportées dans l'ihm via le InplaceInput. L'annotation reste null alors qu'il a été modifié dans mon navigateur...

Est-ce que quelqu'un verrait une solution à ce problème ?