Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SpringMVC] gestion formulaire Select Mutiple

    17 février 2017 à 17:47:25

    Bonjour,

    J'ai un formulaire Select de ce style:

    <div class="form-group">

    <label class="control-label"> Artistes liés</label> 

    <select multiple="multiple" name="id" id="id" >

    <option th:each="a:${listeArtistes}" th:value="${a.Id}" th:text="${a.prenom}+' '+ ${a.nom}+' '+${a.Id}"></option> 

    </select> 

    </div>

    Je ne parviens pas à renvoyer au controller l'ensemble des artistes sélectionnés par l'utilisateur:

    Ci-dessous mon Controller:

    @RequestMapping(value = "/SaveExpo", method = RequestMethod.POST)

    public String SaveExpo(@Valid Expo expo, @ModelAttribute(name = "id") Long[] id,BindingResult bindingResult) throws Exception {

    if (bindingResult.hasErrors()) {

    return "expoForm";

    }

    Collection<Artiste> listeArtistes = new ArrayList();

    for(Long Id:id){

    Artiste artiste=artisteDao.findOne(Id);

    listeArtistes.add(artiste);

    expo.setArtiste(listeArtistes);

    expoDao.save(expo);

    }

    ci-dessous l'Entity Expo:

    @Entity

    public class Expo implements Serializable {

    @Id

    @GeneratedValue

    private Long id;

    @DateTimeFormat(pattern = "yyyy-MM-dd")

    private Date date_debut;

    @DateTimeFormat(pattern = "yyyy-MM-dd")

    private Date date_fin;

    private String statut;

    private String presentation;

    @NotEmpty

    @Size(min = 2, max = 30)

    private String nom;

    @ManyToMany 

    private Collection<Artiste> artistes=new ArrayList();

    @OneToMany(mappedBy = "expo", fetch = FetchType.LAZY)

    private Collection<Oeuvre> oeuvres;

    //getters and setters....

    Je vois bien au niveau de la requette HTTP dans le POST que j'envoie bien  plusieurs valeurs avec le name="id" mais mon controller 

    ne récupère que la première. J'ai vu sur le net que le JS permet de pallier à ce pb connu Mais je ne maitrise pas encore ce langage.

    Je précise qu'au niveau du front j'utilise Thymeleaf.

    Merci pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter

    [SpringMVC] gestion formulaire Select Mutiple

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown