Hi,
First excuse me for my english.
I would like to put in my comboBox a data from my data base, so i used a method who extract this data
her is my controllerCode:public List getAllDroit() { return getHibernateTemplate().find( "select com.pia.agp.mapping.Droit.droitId from com.pia.agp.mapping.Droit "); }
so in referenceData i call getDroitCombo, to obtain the data.Code:package com.pia.agp.web; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.validation.BindException; import org.springframework.validation.Errors; import org.springframework.validation.ObjectError; import org.springframework.web.bind.RequestUtils; import org.springframework.web.bind.ServletRequestDataBinder; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.SimpleFormController; import com.pia.agp.mapping.Intervenant; import com.pia.agp.service.IServiceIntervenant; public class EditIntervenant extends SimpleFormController { // service IServiceIntervenant service; public IServiceIntervenant getService() { return service; } public void setService(IServiceIntervenant service) { this.service = service; } // enregistrement d'éditeurs de propriétés protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { // format attendu pour la date de naissance SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); // format strict dateFormat.setLenient(false); // on enregistre un éditeur de propriétés String (dd/MM/yyyy) -> Date // CustomDateEditor est fourni par Spring - il sera utilisé par Spring // pour transformer // la chaîne saisie dans le formulaire en type java.util.Date // la date ne pourra être vide (2ième paramètre de CustomDateEditor) binder.registerCustomEditor(java.util.Date.class, null, new CustomDateEditor(dateFormat, false)); } // préparation [Personne] à afficher protected Object formBackingObject(HttpServletRequest request) { System.out.println("[EditPersonne] formBakingObject **************************************"); // on récupère l'id de l intervenant int id = RequestUtils.getIntParameter(request, "id", -1); // ajout ou modification ? Intervenant intervenant = null; if (id != -1) { // modification - on récupère l intervenant à modifier intervenant = service.getOne(id); }else{ // ajout - on crée un intervenant vide intervenant = new Intervenant(); intervenant.setIntervenantId(-1); } // on rend l'objet [ intervenants] return intervenant; } // exécution de la commande protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { // sauvegarde l intervenant ajoutée ou modifiée System.out.println("[EditPersonne] onSubmit **************************************"); Intervenant intervenant = (Intervenant) command; int idIntervenant = intervenant.getIntervenantId(); try { // sauvegarde de l intervenant service.saveOne(intervenant); // on redirige vers la liste des intervenants return new ModelAndView("r-list"); } catch (Exception ex) { // on note l'erreur String message=idIntervenant==-1 ? "intervenant.ajout.echec" : "intervenant.modification.echec"; errors.reject(message,new Object[]{ex.getMessage()},"Echec de la mise à jour: {0}"); // on réaffiche le formulaire return showForm(request,response, errors); } } protected Map referenceData(HttpServletRequest request, Object model, Errors errors) throws Exception { Map data = new HashMap(); //data.putAll(super.referenceData(request, model, errors)); if (errors.hasErrors()) { System.out.println("Errors found....................."); for (Iterator iter = errors.getAllErrors().iterator(); iter.hasNext();){ ObjectError error = (ObjectError) iter.next(); System.out.println("ERROR: " + error.getDefaultMessage()); } } // les options du combo (les fonctions d'un intervenant) data.put("optionsComboFonction",service.getOptionsComboFonction()); //les options du combo (les couts journalier d'un intervenant) data.put("optionsComboCoutExpPia",service.getCoutExpPiaCombo()); data.put("optionsComboDroit",service.getDroitCombo()); // on rend le dictionnaire return data; } }
the code of getDroitCombo is :
the problem: I have this warning in the log file of tomcat and the method return nothing.Code:public String[] getDroitCombo() { System.out.println("Get droit combo "); int i = 0; /* on appel la methode de la couche DAO qui recupere les donnees de la BD*/ List list = dao.getAllDroit(); String temp[] = new String[list.size()]; System.out.println("SIZE : "+list.size()); /* On boucle sur notre list pour remplir le tableau de string */ for (Iterator iter = list.iterator(); iter.hasNext();){ temp[i++] = (String) iter.next(); System.out.println(temp[i-1]); } return temp; }
Code:Get droit combo WARN [http-8081-Processor25] - no persistent classes found for query class: select com.pia.agp.mapping.Droit.droitId from com.pia.agp.mapping.Droit SIZE : 0
Thanks for your help


Reply With Quote