|
|
|
|
Bonjour,
je travaille avec struts,
j'ai une liste deroulante et j'ai besoin de recuperer la valeur selectionnée pour la soumettre comme parametre a une fonction java.
j'ai pensé à faire:
request.setAttribute("valeur",......????.............);
pouvez vous m'aider,je suis tout à fait bloquée!!
Configuration: Windows XP Internet Explorer 6.0
Salut Marco,ça fait plaisir de te retrouver sur le forum.
<logic:iterate id="utilisateur" name="utilisateur" scope="session" type="data.Utilisateur">
<td class="Style2"> Objectifs individuel :</td>
<td>
<select name="objIndiv" id="objIndiv" onChange=update(this); >
<% Iterator it = GetList.getObjByUserId(id).iterator();
String ob=null;
while(it.hasNext()){
ObjIndiv objindiv =(ObjIndiv)it.next();
ob=objindiv.getLibelleObjIndiv();
%>
<option type="text" size="50" value="<%=objindiv.getLibelleObjIndiv()%>"><%=ob %> </option>
<%}%> </select> </td>
</logic:iterator>
mon dernier recours est d'utiliser Ajax,mais je me suis dite qu'il est impossible que struts ne fait pas ça
|
Salut marco,effectivement il s'est averé que maListe était vide,il y'avait un probleme au niveau de la methode qui la recupère.
public static List getPhaseByCode(){
Session session = HibernateSessionFactory.getSession();
List list = null;
try{
Query query=session.createQuery(" from Phase u " );
list =query.list();
}catch(Exception ex){
ex.printStackTrace();
}
return list;
}
mais dès que j'ajoute une condition du type: public static List getPhaseByCode(String code){
Session session = HibernateSessionFactory.getSession();
List list = null;
try{
Query query=session.createQuery(" from Phase u where u.codeObjIndiv=" +code );
list =query.list();
}catch(Exception ex){
ex.printStackTrace();
}
return list;
}
je pense que c'est juste un problme de requette |
Répondre à juliette123
|
Voici le fichier Phase.hbm.xml:
<hibernate-mapping>
<class name="data.Phase" table="PHASE" schema="BASE">
<id name="idphase" type="java.lang.Long">
<column name="IDPHASE" precision="22" scale="0" />
<generator class="increment"></generator>
</id>
<many-to-one name="objIndiv" class="data.ObjIndiv" fetch="select">
<column name="CODE_OBJ_INDIV" length="20" not-null="true" />
</many-to-one>
<property name="libellePhase" type="java.lang.String">
<column name="LIBELLE_PHASE" length="100" />
</property>
<property name="dateDeb" type="java.util.Date">
<column name="DATE_DEB" length="7" />
</property>
<property name="dateFin" type="java.util.Date">
<column name="DATE_FIN" length="7" />
</property>
<property name="duree" type="java.lang.String">
<column name="DUREE" length="20" />
</property>
<property name="numphase" type="java.lang.Long">
<column name="NUMPHASE" precision="22" scale="0" not-null="true" />
</property>
<set name="necessiters" inverse="true">
<key>
<column name="IDPHASE" precision="22" scale="0" not-null="true" />
</key>
<one-to-many class="data.Necessiter" />
</set>
</class>
</hibernate-mapping>
la classe Phase.java: public class Phase extends AbstractPhase implements java.io.Serializable {
// Constructors
/** default constructor */
public Phase() {
}
/** minimal constructor */
public Phase(ObjIndiv objIndiv, Long numphase) {
super(objIndiv, numphase);
}
/** full constructor */
public Phase(ObjIndiv objIndiv, String libellePhase, Date dateDeb, Date dateFin, String duree, Long numphase, Set necessiters) {
super(objIndiv, libellePhase, dateDeb, dateFin, duree, numphase, necessiters);
}
}
et la classe AbstactPhase.javva: public abstract class AbstractPhase implements java.io.Serializable {
// Fields
private Long idphase;
private ObjIndiv objIndiv;
private String libellePhase;
private Date dateDeb;
private Date dateFin;
private String duree;
private Long numphase;
private Set necessiters = new HashSet(0);
// Constructors
/** default constructor */
public AbstractPhase() {
}
/** minimal constructor */
public AbstractPhase(ObjIndiv objIndiv, Long numphase) {
this.objIndiv = objIndiv;
this.numphase = numphase;
}
/** full constructor */
public AbstractPhase(ObjIndiv objIndiv, String libellePhase, Date dateDeb, Date dateFin, String duree, Long numphase, Set necessiters) {
this.objIndiv = objIndiv;
this.libellePhase = libellePhase;
this.dateDeb = dateDeb;
this.dateFin = dateFin;
this.duree = duree;
this.numphase = numphase;
this.necessiters = necessiters;
}
//accessors
pas de codeObjIndiv!!
|
Répondre à juliette123
|
Bonjours,
public static List getPhaseByCode(ObjIndiv code){
Session session = HibernateSessionFactory.getSession();
List list = null;
try{
Query query=session.createQuery(" from Phase u where objIndiv="+code );
list =query.list();
}catch(Exception ex){
ex.printStackTrace();
}
return list;
}
ou ça: public static List getPhaseByCode(String code){
Session session = HibernateSessionFactory.getSession();
List list = null;
try{
Query query=session.createQuery(" from Phase u where objIndiv="+code );
list =query.list();
}catch(Exception ex){
ex.printStackTrace();
}
return list;
}
sachant que le code que je vais utiliser c'est la valeur selectionnée dans le select des objectifs,et que je vais recuperer avec ajax,il sera dond de type String
|
Salut marco,j'espère que tes vaccances se sont bien passées.En fait j'ai fini par utiliser String code,et depuis j'ai travaillé sur ajax afin de recuperer le code,chose que j'ai reussis à faire,mais voilà que je m'affronte à un nouveau probleme,dailleurs j'ai posté un message ici:
|