2010-10-25 5 views
0

J'ai écrit une servlet qui interroge une base de données pour une liste de messages, la sortie est dirigée vers html généré par servlet. L'utilisateur a la possibilité de choisir d'afficher un message sélectionné en cliquant sur un boutonPassage de paramètres via des URL

ResultSet rs = null; 
try 
{ 
    startPage(response); 
     rs = statement.executeQuery(sql); 
     while(rs.next()) 
     { 
      out.println("<tr>"); 
      out.println("<td align=center>"+rs.getString("Heading")+"</td>"); 
      out.println(""); 
      out.println("<td align=center>"+rs.getString("Username")+"</td>"); 
      out.println(""); 
      out.println("<td align=center>"+rs.getString("DatePosted")+"</td>"); 
      out.println(""); 
      out.println("<td align=center><form action=dbShowMessage?action='"+rs.getString("Heading")+"'method=post><input value=VIEW type=submit></form></td>"); 
      out.println("</tr>"); 
     } 

    endPage(response); 
} 

Le code compile sans erreur, mais quand je l'invoquons en utilisant le serveur web les affiche page HTML sans la table contenant les résultats ou les boutons, mais dès que je l'enlève, il affiche tout; qu'est-ce que je fais mal ici.

Sinon je l'ai essayé avec une URL comme suit:

out.println("<tr>"); 
out.println("<td align=center><a href=dbShowMessage?title="+rs.getString("Heading")+">"+rs.getString("Heading")+"</a></td>"); 
out.println(""); 
out.println("<td align=center>"+rs.getString("Username")+"</td>"); 
out.println(""); 
out.println("<td align=center>"+rs.getString("DatePosted")+"</td>"); 
out.println(""); 
out.println("</tr>"); 

Encore une fois, il est même à venir; les liens et la table affichés après invocation mais dès que je crée la même histoire de référence.

+0

HTML est censé être généré par JSP, et non par Servlet. – BalusC

+0

vous regardez le HTML produit par ce code pour voir si c'est valide ou non valide et pour voir quel est le contenu responsable de quelque chose qui ne rend pas? –

Répondre

1

Je ne sais pas si cela résout votre problème, mais vous pouvez mettre un espace avant l'attribut method, qui est, changer

...Heading")+"'method=post... 

à

...Heading")+"' method=post... 

En outre, ce que les personnages ne votre rubrique inclut réellement? Pas de citation des marques, je suppose ...

0

Vous avez html invalide ...

Utilisez cette ligne:

out.println("<td align=center><form action=\"dbShowMessage?action='"+rs.getString("Heading")+"'\" method=\"post\"><input value=\"VIEW\" type=\"submit\"></form></td>"); 
+0

Merci pour la réponse, mais cela ne fonctionne pas pour une raison quelconque, il imprime le premier enregistrement et s'arrête là où il devrait afficher le bouton – Kushan

Questions connexes