2009-09-02 6 views
0

J'ai une classe, appelons-la Tâche. La tâche peut avoir des sous-tâches. Les sous-tâches peuvent avoir des sous-tâches, etc. J'ai une page JSF Seam qui vous permet d'éditer tous les champs d'une tâche donnée. J'ai aussi une liste de sous-tâches, et je veux qu'un utilisateur puisse cliquer sur cette sous-tâche, et commencer à l'éditer. Alors, voici comment je que j'ai mis:Comment modifier un objet enfant en utilisant le même formulaire dans Seam?

<rich:dataList id="subTaskList" var="curSubTask" value="#{task.subTasks}"> 
    <s:link view="/party/edit.xhtml" propagation="nest"> 
     <h:outputText value="#{curSubTask.title}"/> 
     <f:param name="taskId" value="#{curSubTask.id}"/> 
    </s:link> 
</rich:dataList> 

Lorsque je clique sur le lien, le et sur l'URL des changements taskId, je reçois un nouveau numéro de conversation, mais il n'y a pas de changement dans les données.
Est-ce que quelqu'un sait ce qui se passe?

+0

Pouvez-vous montrer votre page.xml et le reste de votre page? – Damo

+0

Le reste de la page fonctionne. Il économise, annule, revient en arrière. Ajoute d'autres choses, etc. Il n'y a pas de fichier page.xml. Accéder à cette page via le parent fonctionne également. (URL: http://blah.com/party/edit.seam?taskId=1) Toutefois, si l'ID enfant est 2: (URL: http://blah.com/party/edit.seam?taskId=2) ne fonctionne pas, si vous cliquez sur le lien. Si vous y allez directement, cela fonctionne, après la fin de la conversation. Je l'ai essayé avec nest, et rejoindre avec les mêmes résultats. C'est quelque chose avec des conversations et aller à la même page, je crois, je ne sais pas quoi. –

+0

Alors, comment définissez-vous la valeur de taskId dans votre Bean? Utilisez-vous l'annotation RequestParameter ou l'extrayez de la carte de paramètres? – Damo

Répondre

0

ce que je fais personnellement est réglé le terrain dans le contexte à l'aide f: setPropertyActionListener comme suit

<f:setPropertyActionListener value="#{curSubTask}" 
      target="#{selectedTask}" /> 

puis rediriger vers la page en pages.xml, la page utilise simplement selectedTask. J'essaie d'éviter d'utiliser des paramètres de page si possible.

Questions connexes