2011-07-09 3 views
0

J'utilise le portlet spring mvc pour l'une de mes applications. J'ai un problème dans la liaison d'une zone de liste remplie dynamiquement avec la collection List dans Controller.spring portlet mvc form: sélectionnez lier à la liste

Conference.java:

public class Conference { 
    private List<Patient> scheduledPatients; 
    //getter/setter for scheduledPatients 
} 

saveParticipants.jsp

<form:select path="scheduledParticipants" items="${scheduledParticipants}" itemLabel="name" itemValue="name" /> 

Les données de liste scheduledParticipants est remplie avec les données sélectionnées dans une autre zone de liste et déplacé vers scheduledParticipants listbox.

Lors de l'envoi d'une demande d'action, je ne parviens pas à obtenir des participants planifiés nouvellement remplis liés au mappage d'action du contrôleur. Le ModelAttribute est le pojo de la conférence.

Nous avons utilisé InitBinder pour lier les données aux participants programmés. Cependant, je ne parviens pas à obtenir les données Participants sélectionnées sur le contrôleur.

Est-ce que quelqu'un sait comment y parvenir?

Répondre

0

Nous devons utiliser initBinder pour lier des listes d'objets à leurs homologues de haricots.

Pour Spring MVC 3, consultez le code suivant:

@InitBinder<br/> 
public void setTestBinder(WebDataBinder dataBinder) { 
    dataBinder.registerCustomEditor(List.class, new TestPropertyEditor(List.class, true)); 
} 

Nous devons écrire un TestPropertyEditor (étend CustomCollectionEditor) qui aura une méthode convertElement pour convertir la chaîne à un objet approprié.

Se reporter à la documentation de référence framework Spring MVC pour les variantes de initBinder ....

Questions connexes