2010-03-01 6 views
2

Je ne suis pas expérimenté dans le débogage de Java EE (je suis plutôt un mec javascript) et j'ai besoin de voir ce que les paramètres HTTP POST arrivent au côté serveur. J'ai mis un point d'arrêt dans un fichier jsp que le formulaire pointe vers son action et maintenant je ne trouve pas le contenu POST dans la fenêtre de variables de débogage.Voir les paramètres POST dans le débogage Eclipse Java EE

Où sont-ils? Comment puis-je rechercher le POST dans le débogage?

[Je Wireshark, mais il est sur le https]

Répondre

3

Dans le point d'arrêt, il suffit de cocher la propriété HttpServletRequest de l'instance JspContext puis vérifier sa propriété parameterMap.

Ou le font la pauvre façon de l'homme en vient de les imprimer tous dans la JSP:

<c:forEach items="${param}" var="p"> 
    Param: ${p.key}= 
    <c:forEach items="${p.value}" var="v" varStatus="loop"> 
     ${v}${loop.last ? '<br>' : ','} 
    </c:forEach> 
</c:forEach> 

Cela dit, vous auriez normalement être intéressé à eux dans une classe de servlet, pas dans une JSP. Cela indique que vous exécutez une logique métier dans un fichier JSP à l'aide de scripts . Ceci est considéré comme une mauvaise pratique. Ne faites pas cela et déplacez le code Java brut vers de vraies classes Java avant qu'il ne soit trop tard. Utilisez JSP pour la présentation uniquement. Vous pouvez utiliser taglibs comme JSTL pour contrôler le flux de la page et utiliser EL pour accéder aux données backend.

+0

"Ceci est considéré comme une mauvaise pratique" - Nope, cela s'appelle "pas mon code": D Merci pour la réponse. Je ne vais pas vérifier maintenant, parce que je l'ai fait avec une solution de contournement, et c'est fini maintenant;) – naugtur

4

En jsp, vous pouvez utiliser l'objet request et appeler sa méthode getParameterNames() ou getParameter (String name). Vous pouvez également appeler request.getMethod() pour vous assurer que vous obtenez des paramètres de la requête POST.

<% 
    if (request.getMethod().equals("POST")) { 
     for (String paramName : request.getParameterNames()) { 
      String value = request.getParameter (paramName); 
     } 
    } 
%> 
+2

java dit request.getParameterNames() n'est pas autorisé à itérer sur – naugtur

1

En mode débogage: voir demande -> Demande -> coyoteRequest -> Paramètres -> paramHashValues ​​

Questions connexes