[résolu] récupérer valeur combobox

wiss20000
[résolu] récupérer valeur combobox

slut,
j'ai un petit problème : je veux récupéer une valeur dans mon combobox dans une page jsp.
voici mon code

<select name="menu1" size="1">
  <option>Days</option>
  <c:forEach var="varia" items="${ListeDate}">
  <option><c:out value="${varia.date}"/></option>
  </c:forEach>
</select>

:?:
wiss20000
Re: récupérer valeur combobox

wiss20000 wrote:
slut,
j'ai un petit problème : je veux récupéer une valeur dans mon combobox dans une page jsp.
voici mon code
<select name="menu1" size="1">
  <option>Days</option>
  <c:forEach var="varia" items="${ListeDate}">
  <option><c:out value="${varia.date}"/></option>
  </c:forEach>
</select>

:?:

:cry: :cry: :cry: :cry:
wiss20000

j'ai essaié un exemple simple le voici

<%@ page language="java" pageEncoding="ISO-8859-1" contentType="text/html;charset=ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 <%
 // on récupère les données du modèle
 String menu1=request.getParameter("menu1");

 String menu2=request.getParameter("menu2");
 
 %>
 <html>
 	<head>
 		<title>Rapport -- </title>
 		 <script type="text/JavaScript">

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

</script>
 </head>

<body>

 <h2>DailyReports</h2>
 <hr>
<p>
Date début
<form action="<c:url value="/do/Edit"/>" method="Post">
<select name="<%= menu1 %>" size="1">
  <option value="0">Days</option>
  <option value="1" selected>jour1</option>
  <option value="2">jour2</option>
  <option value="3">jour3</option>
</select>
       Date fin
<select name="<%= menu2 %>" size="1">
  <option value="0">Days</option>
  <option value="1">jour1</option>
  <option value="2">jour2</option>
  <option value="3">jour3</option>
</select>
 <tr>
 <td><input type="submit" value="Envoyer" ></td>
 </tr>
</form>
</p>
  <br>
  <a href="<c:url value="/do/Edit"/>">envoyer</a>
 </body>
 </html>

mais je n'est pas réussie à récupérer la valeur du ombobox :?
fredericmazue

Dis donc, tu ne crois pas qu'il faut être un peu patient quand on pose une question sur un forum. Trois fois la même question en une journée...

Et puis d'abord qu'est-ce que ça veut dire récupérer, Côté serveur ou côté navigateur ? A lire ton troisième message, c'est côté serveur, c'est
ça ?

wiss20000

fredericmazue wrote:

Et puis d'abord qu'est-ce que ça veut dire récupérer, Côté serveur ou côté navigateur ? A lire ton troisième message, c'est côté serveur, c'est
ça ?


oui je veux les récupérer pour ma serlet et les afficher dans une nouvelle page web :?:
est ce c'est clair ou je dois expliquer d'avantage :oops:
fredericmazue

Non c'est clair

wiss20000

voici ma servlet en cas de besoin

import java.io.IOException;
import java.util.HashMap;
import java.util.*;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
public class Application extends HttpServlet {
	private String []paramètres = {"urlDaily","urlEdit"};
	private Map params = new HashMap<String, String>();
	private String datedebut;
	private String datefin;
	


	
//	 init
	  @SuppressWarnings("unchecked")
	  public void init() throws ServletException {
	  // on récupère les paramètres d'initialisation de la servlet
	  ServletConfig config = getServletConfig();
	  // on traite les autres paramètres d'initialisation
	  String valeur = null;
	for (int i=0;i<paramètres.length;i++){
	  // valeur du paramètre
	  valeur = config.getInitParameter(paramètres[i]);
//	 on mémorise la valeur du paramètre
	   params.put(paramètres[i], valeur);
	  }
	  }


	 
//	 GET
	   @SuppressWarnings("unchecked")
	   public void doGet(HttpServletRequest request, HttpServletResponse response)
	   throws IOException, ServletException {
		   datedebut =  request.getParameter("menu1");
		   System.out.println(datedebut);
		    // on récupère la méthode d'envoi de la requête
		    String méthode = request.getMethod().toLowerCase();
		    // on récupère l'action à exécuter
		    String action = request.getPathInfo();
		    // action ?
		   if (action == null) {
		   action = "/DailyReports";
		   }
		    // exécution action

		    
//		  exécution action

		    
		    if (méthode.equals("get") && action.equals("/DailyReports")) {
			   
			    doListDaily(request, response);
			    return;
			    }
		    if (méthode.equals("get") && action.equals("/Edit")) {
			  
			    doEdit(request, response);
			    return;
			    }

	  }
	   
	    
	    
	    private void doListDaily(HttpServletRequest request,
	    	    HttpServletResponse response) throws ServletException, IOException {
	    	
//	    	 on récupère les éléments postés
	    	// le date debut
	  	 datedebut =  request.getParameter("menu1");
		    	// le date fin
	   	 datefin =  request.getParameter("menu2");
	   	System.out.println(datedebut);
	    	  // état 
	   	   //interval = Boolean.parseBoolean(request.getParameter("radiobutton"));
	    	 
	    	getServletContext()
	    	 .getRequestDispatcher((String) params.get("urlDaily")).forward(request, response);    	
	    	 datedebut=request.getParameter("menu1");
	    	  datefin=request.getParameter("menu2");
	    
	    	  System.out.println(datedebut);
	    }
//	 affichge date et DailyReports	    
	    
	    private void doEdit(HttpServletRequest request,
	    	    HttpServletResponse response) throws ServletException, IOException {
	    	

//           on réecrit	    	
	    	request.setAttribute("datedebut",datedebut );  
	    	request.setAttribute("datefin",datefin );
	    	
	    	getServletContext()
	    	 .getRequestDispatcher((String) params.get("urlEdit")).forward(request, response);    	
	    	
	    	   }
	    

	    


	    
//	  post
	     public void doPost(HttpServletRequest request, HttpServletResponse response)
	     throws IOException, ServletException {
	     // on passe la main au GET

	    	  
	     doGet(request, response); }
	   
}
fredericmazue

Non c'est le contraire de oui :D

wiss20000

fredericmazue wrote:
Non c'est le contraire de oui :D

j'ai compris :D :D
mais c'est dans le cas ou le problème est de la partie servlet :wink:
wiss20000

oups
j'ai trouver beaucoup d'erreur dans mon .jsp et ma seervlet :oops: :oops:
je dois faire qelque rectification
:oops: :oops:
:oops: :oops:

wiss20000

je crois qu l'avais la tete ailleur quand j'ai écrit mon code :bug:
en tout cas pour le code exemple voici la jsp

<%@ page language="java" pageEncoding="ISO-8859-1" contentType="text/html;charset=ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 <html>
 	<head>
 		<title>Rapport -- </title>
 		 <script type="text/JavaScript">

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

</script>
 </head>

<body>

 <h2>DailyReports</h2>
 <hr>
<p>
Date début
<form method="get">
<select name="menu1" size="1">
  <option value="0">Days</option>
  <option value="1">jour1</option>
  <option value="2">jour2</option>
  <option value="3">jour3</option>
</select>
       Date fin
<select name="menu2" size="1">
  <option value="0" selected>Days</option>
  <option value="1">jour1</option>
  <option value="2">jour2</option>
  <option value="3">jour3</option>
</select>


</p>

  
<br>
<input type="radio" name="radio" value="radio1"/>période  
<br>
<input type="radio" name="radio" value="radiob2"/>jours
  
  <br>
  <input type="submit" value="Envoyer">
<input type="hidden" name="action" value="/Edit">
</form>

  
  <!--  <a href="<c:url value="/do/Edit"/>">envoyer</a> -->
 </body>
 </html>

et pour ma servlet
import java.io.IOException;
import java.util.HashMap;
import java.util.*;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@SuppressWarnings("serial")
public class Application extends HttpServlet {
	private String []paramètres = {"urlDaily","urlEdit"};
	private Map params = new HashMap<String, String>();



	
//	 init
	  @SuppressWarnings("unchecked")
	  public void init() throws ServletException {
	  // on récupère les paramètres d'initialisation de la servlet
	  ServletConfig config = getServletConfig();
	  // on traite les autres paramètres d'initialisation
	  String valeur = null;
	for (int i=0;i<paramètres.length;i++){
	  // valeur du paramètre
	  valeur = config.getInitParameter(paramètres[i]);
//	 on mémorise la valeur du paramètre
	   params.put(paramètres[i], valeur);
	  }
	  }


	 
//	 GET
	   @SuppressWarnings("unchecked")
	   public void doGet(HttpServletRequest request, HttpServletResponse response)
	   throws IOException, ServletException {

		    // on récupère la méthode d'envoi de la requête
		    String méthode = request.getMethod().toLowerCase();
		    // on récupère l'action à exécuter
		    String action=request.getParameter("action");
		    // action ?
		   if (action == null) {
		   action = "/DailyReports";
		   }

//		  exécution action

		    
		    if (méthode.equals("get") && action.equals("/DailyReports")) {

			    doListDaily(request, response);
			    return;
			    }
		    if (méthode.equals("get") && action.equals("/Edit")) {
		    	
		    	
			    doEdit(request, response);
			    return;
			    }

	  }
	   
	    
	    
	    private void doListDaily(HttpServletRequest request,
	    	    HttpServletResponse response) throws ServletException, IOException {
	    	getServletContext()
	    	 .getRequestDispatcher((String) params.get("urlDaily")).forward(request, response);    	

	    }
//	 affichge date et DailyReports	    
	    
	    private void doEdit(HttpServletRequest request,
	    	    HttpServletResponse response) throws ServletException, IOException {
	    	
	    	String dt1 = request.getParameter("menu1");
	    	String dt2 = request.getParameter("menu2");
	    	String radio = request.getParameter("radio");
	    	request.setAttribute("dt1", dt1);
	    	request.setAttribute("dt2", dt2);
	    	request.setAttribute("radio", radio);

	    	getServletContext()
	    	 .getRequestDispatcher((String) params.get("urlEdit")).forward(request, response);    	
	    	
	    	   }
	    

	    


	    
//	  post
	     public void doPost(HttpServletRequest request, HttpServletResponse response)
	     throws IOException, ServletException {
	     // on passe la main au GET

	    	  
	     doGet(request, response); }
	   
}


:)
mais pour le cas d'un combobox dont la taille n'est pas connu comment récupérer la valeur sélectionnée :?
<select name= menu1  size="1">
  <option>Days</option>
  <c:forEach var="varia" items="${ListeDate}">
 
  <option><c:out value="${varia.date}"/></option>
  </c:forEach>
fredericmazue

La valeur sélectionnée n'est pas toujours au même endroit quelle que soit la taille de la combobox ?

wiss20000

ça marche
:D