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]