IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

PB récupérer la valeur d'un combo


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut PB récupérer la valeur d'un combo
    Bonjour à tous,

    Je n'arrive pas à récupérer la valeur sélectionné dans ma combo


    ma jsp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1"%>
    	<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <html:form action="LaunchReporting6" method="GET">
    	<div class="titrePage"><bean:message key="liste.proprietaires.titre" /></div>
    	<html:select name="aCriteres6Form" property="idProprietaire">
    		<bean:define id="proprietaires" name="aCriteres6Form"
    			property="proprietaireList"></bean:define>
    		<html:options collection="proprietaires" property="idPersonne"
    			labelName="proprietaires" labelProperty="nom" />
    	</html:select>
    	<html:link forward="LaunchReporting6"><bean:message key="liste.edition.lancer" /></html:link>
    </html:form>
    le bean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    import java.util.List;
     
    import bnppi.ereport.struts.AbstractForm;
     
    public class Criteres6Form extends AbstractForm {
    	public static final String AID = "aCriteres6Form";
     
    	public Criteres6Form(){
    	}
     
    	private long idProprietaire;
     
    	private List proprietaireList;
     
    	public List getProprietaireList() {
    		return proprietaireList;
    	}
     
    	public void setProprietaireList(List proprietaireList) {
    		this.proprietaireList = proprietaireList;
    	}
     
    	public long getIdProprietaire() {
    		return idProprietaire;
    	}
     
    	public void setIdProprietaire(long idProprietaire) {
    		this.idProprietaire = idProprietaire;
    	}
     
    }
    mon action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    public class LaunchReporting6Action extends AbstractAction {
     
    	public ActionForward doAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
    		try {	
    			User user = getConnectedUser(request);
    			String uid = user.getUidUtilisateur();
     
    			String idProprietaire = "55";
    			//remplissage de la table du rapport
    			getServiceLocator().getEReportReportingService().fillTablereport6(uid, idProprietaire);
    			Map parameters = new HashMap();
    			parameters.put("TITRE", "RAPPORT_6");
    			parameters.put("SOUS_TITRE", "test sous-titre");
     
    			// chargement du template
    			InputStream reportStream = this.getClass().getClassLoader().getResourceAsStream("bnppi/ereport/jasperreports/report6.jasper");
     
    			// chargement de la data source XML
    			InputStream dataSourceStream = this.getClass().getClassLoader().getResourceAsStream("bnppi/ereport/jasperreports/JasperTestDatasource.xml");
     
    			JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportStream);
     
    			JRXmlDataSource ds = new JRXmlDataSource(dataSourceStream, "/data/*");
     
    			JRResultSetDataSource ds_rs = new JRResultSetDataSource(getServiceLocator().getEReportReportingService().dataTableEreport6(uid)); 
     
    			// remplissage du rapport avec les données du datasource
    			JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
     
    			// export sous format excel dans un OutputStream
    			JRXlsExporter exporter = new JRXlsExporter();
    			ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
    			exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    			exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
    			exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
    			exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
    			exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER,
    					Boolean.TRUE); 
    			exporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, 
    					Boolean.TRUE);
    			exporter.exportReport();
     
    			// interception du résultat pour la mise en forme
    			byte[] excelFile = baos.toByteArray();
    			HSSFWorkbook wkb = new HSSFWorkbook(new ByteArrayInputStream(excelFile));
    			HSSFSheet sheet = wkb.getSheetAt(0);
    			sheet.createFreezePane(0, 3);
    			// sheet.groupRow((short) 5, (short) 7);
    			response.reset();
    			response.setContentType("application/excel");
    			response.setHeader("content-disposition", "attachment; filename=reporting6.xls");
    			wkb.write(response.getOutputStream());
    		} catch (IOException e) {
    			throw convertSystemException(e);
    		} catch (JRException e) {
    			throw convertSystemException(e);
    		}
    		return null;
    	}
    }

  2. #2
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tout d'abord, tu peux simplifier le code de la combo comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:select property="idProprietaire">
       <html:optionsCollection property="proprietaireList" value="idPersonne" label="nom"/>
    </html:select>
    Ensuite, pour récupérer la valeur sélectionnée dans la combo, il suffit de coder ceci dans l'Action LaunchReporting6Action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Criteres6Form criteres6Form =(Criteres6Form) form ;
    long idProprietaire=criteres6Form.getIdProprietaire() ;
    Je n'ai personnellement jamais testé avec un objet de type long.
    Si cela ne fonctionne pas, déclare idProprietaire de type String.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut
    merci mais j'ai déjà fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    			Criteres6Form fmrIn = (Criteres6Form) form;
    			long id = fmrIn.getIdProprietaire();
    et ça me retourne 0 à chaque fois.....

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Mais où l'as-tu mis ce code ? parce que je ne le vois pas dans l'Action LaunchReporting6Action que tu as posté.

    Bon, sinon, je n'avais pas fait attention mais c'est normal que ça ne fonctionne pas car tu n'as pas de bouton submit mais un link et via un link, le formulaire n'est pas soumis.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut
    oui, je l'ai rajouté puis enlevé, et .... peu importe, tu as raison, je suis trop bête, le formulaire n'est pas soumis....
    je vais changer ça demain matin.....

    merci !!!

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Tu peux éventuellement soumettre le formulaire via l'attribut onchange du tag html:select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:select property="idProprietaire" onchange="document.aCriteres6Form.submit();">

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Récupérer les valeurs d'une combo box multiple
    Par Korleone dans le forum IHM
    Réponses: 7
    Dernier message: 04/01/2015, 01h10
  2. Comment récupérer la valeur affichée d'un combo?
    Par noviceman1 dans le forum WinDev
    Réponses: 7
    Dernier message: 02/08/2011, 18h01
  3. Récupérer la valeur séléctionné d'un combo box
    Par developppez dans le forum WinDev
    Réponses: 18
    Dernier message: 29/07/2010, 10h48
  4. récupérer la valeur saisie dans une combo box
    Par whitebird001 dans le forum MFC
    Réponses: 2
    Dernier message: 18/09/2008, 00h42
  5. [MySQL] Récupérer la valeur d'un combo?
    Par Nicos77 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/12/2006, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo