I think it's correct :

---------------------------------
@Entity
public class Enquete implements java.io.Serializable {
   ...
@OneToMany(mappedBy="enquete",cascade=CascadeType.ALL)
   public Set<Modele> getModeles() {
       return modeles;
   }
   ...
}
@Entity
public class Modele implements java.io.Serializable {
   ...
   @ManyToOne
   @JoinColumn(name="ENQUETE_ID")
   public Enquete getEnquete() {
       return enquete;
   }
... } ---------------------------------

Julien.


Michael Horwitz a écrit :
Have you set the appropriate cascade on the relationship between Enquete and Modele?

Mike

On 8/24/07, *Julien C.* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi,

    I don't figure out how to use the form:select tag with multiple
    select. I have try this :

    ---------------------------------
    <form:select id="modeles" path="modeles" multiple="true" size="5" >
        <c:forEach var="modele" items="${enquete.modeles}">
        <form:option  value="${ modele.id <http://modele.id/>}"
    label="${modele.nom}"  />
        </c:forEach>
        <form:options items="${modeles}" itemValue="id"
    itemLabel="nom"></form:options>
    </form:select>
    ---------------------------------
    no errors but nothing is selected and nothing is saved -
    I have registered a custom binder for Modele object..

    so I take a look to userForm (with roles)
    I try this :
    ---------------------------------
    <form:select id="modeles" path="modeles" multiple="true" size="5" >
        <c:forEach var="modele" items="${enquete.modeles}">
        <option  value="${modele.id <http://modele.id/>}"
    selected="selected" >${modele.nom}</option>
        </c:forEach>
        <form:options items="${modeles}" itemValue="id"
    itemLabel="nom"></form:options>
    </form:select>
    ---------------------------------

    and in my controller
    ---------------------------------
    ...
    onSubmit{
    ...
    String[] enqueteModeles = request.getParameterValues("modeles");
    if (enqueteModeles != null) {
        log.debug("clearing enquete modeles");
        enquete.getModeles().clear();
        for (String modeleId : enqueteModeles) {
            log.debug("adding modele " + modeleId);
            enquete.getModeles().add( modeleManager.get(
    Long.valueOf(modeleId)) );
        }
    }else{
        log.debug("getParameterValues('modeles') is null");
    }

    enqueteManager.save(enquete);
    ...
    }
    ...
    ---------------------------------
    It's working fine for the selection but nothing is saved :
    It's strange because in my logs I've got :

    DEBUG [btpool0-1] EnqueteFormController.onSubmit (78) | clearing
    enquete modeles
    DEBUG [btpool0-1] EnqueteFormController.onSubmit(81) | adding modele 1
    DEBUG [btpool0-1] EnqueteFormController.onSubmit(81) | adding modele 2
    DEBUG [btpool0-1] EnqueteFormController.onSubmit (81) | adding
    modele 3

    So where is the problem ?
    My Manager extends GenericManager...


    A idea ?
    Thanks, Julien Chanséaume.







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to