2009-04-23 9 views
0

Je suis en train de repeupler un champ de formulaire qu'un utilisateur a déjà rempli avec Sessions dans HTTP. Je saisissant les champs de la forme par un servlet:WhiteSpace Form TextBoxes

//On servlet 
String polyNum = request.getParameter("policyNum") 
session.setAttribute("policyNum", polyNum); 

//On JSP 
<td align = "right"><font color = "#FF0000">*</font><font face= "Calibri, Arial" size = "3"> Policy #:</font></td> 
<td><input type="text" name= "policyNum" size="19" tabindex = "1" value=" 
<% out.println(session.getAttribute("policyNum");%>"> 

Le problème: Quand je lance ma page JSP, je reçois un des principaux espaces dans les champs de saisie du formulaire. Par conséquent, à chaque fois que je soumets le formulaire, les espaces sont également insérés dans la base de données.

Des idées? Toute aide serait grandement appréciée.

Répondre

0

Jetez un oeil à la méthode .trim() dans la classe String:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#trim()

"Retourne une copie de la chaîne, avec les espaces avant et omis."

+0

J'ai essayé la méthode de rognage, mais sans succès. Si les espaces sont dans la zone de texte du formulaire, aurais-je besoin d'utiliser la méthode trim dans le jsp? –

+0

Content que vous ayez trouvé la réponse. Je suis curieux de savoir à quoi ils ressemblaient avant et après. Seriez-vous en mesure de publier cela pour être complet? –

1

Vous pouvez couper comme ceci:

String polyNum = request.getParameter("policyNum"); 
polyNum = polyNum == null ? null : polyNum.trim(); 
session.setAttribute("policyNum", polyNum ); 

et si votre jsp ressemble

<input type ="text" value=" 
<%= session.getAttribute("policyNum"); %> 
"/> 

vous obtiendrez un espace.

De même, vous n'indiquez pas où vous entrez dans la base de données.

0

La bibliothèque Apache Commons StringUtils est utile pour le découpage car elle gère les valeurs nulles.

Alors

String polyNum = request.getParameter("policyNum"); 
polyNum = polyNum == null ? null : polyNum.trim(); 

peut-il devenir

String polyNum = StingUtils.stripToEmpty(request.getParameter("policyNum")); 
0

Il est avéré que mes scriplets dans mes pages jsp ont été placés syntanically mal. Je n'avais pas besoin de réduire les espaces après tout. Mes formulaires fonctionnent bien maintenant.

Votre solution à propos de la librairie Apache est intéressante Damo. J'apprécie vos commentaires.