2009-10-15 12 views
0

Veuillez nous aider ici, le paramètre getParameter imprime uniquement la première partie de l'élément String dans la balise.getParameter renvoie uniquement une partie de la chaîne

ici est la balise select

<select name="ActionSelect" id="ActionSelect" > 
<%Iterator itr;%> 
<% List data = (List) request.getAttribute("data"); 
    for (itr = data.iterator(); itr.hasNext();) { 
    String value = (String) itr.next(); 
%> 
<option value=<%=value%>><%=value%></option> 
<%}%> 
</select> 

et est le code ici dans le servlet

PrintWriter pw = response.getWriter(); 
String connectionURL = "jdbc:mysql://localhost/db"; 
Connection connection; 
try{ 
    this.ibrand = request.getParameter("ActionSelect"); 
    pw.println(ibrand); 
} catch (Exception e) { 
    pw.println(e); 
} 

Répondre

6

Utilisez des guillemets autour de la valeur dans la balise option:

<option value="<%=value%>"><%=value%></option> 

Comme est maintenant, vous avez probablement un espace dans votre valeur, donc seulement la partie de la valeur avant l'espace est retournée.

Incidemment, il n'est pas nécessaire de déclarer l'itérateur en haut; vous pouvez le faire directement dans la boucle:

for (Iterator itr = data.iterator(); itr.hasNext();) { 

Enfin, envisagez d'utiliser des bibliothèques de balises au lieu d'écrire du code Java directement dans votre scriptlets JSP.

+0

Merci d'avoir fait ça – Elijah