2010-10-15 6 views
0

c'est deleteProduct.jsp code de page. le problème est seulement le étiquette avant et l'opération de DB fonctionne bien. J'ai utilisé l'étiquette avant pour aller à adminProducts.jsp mais le résultat n'est pas correct. il montre adminProducts.jsp le contenu de la page, mais la barre d'adresse montre deleteProduct.jsp quel est le problème et comment puis-je résoudre ce problème?jsp: la balise forward ne fonctionne pas correctement?

<%@ page contentType="text/html;charset=UTF-8"%> 
<html> 
<%@ page import="org.j2os.shine.jconnection.JDBC" %> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
    <title>delete product</title> 
    </head> 
    <body> 
    <% 
     String id = request.getParameter("id"); 
     out.print(id); 
     JDBC mydb = new JDBC(); 
     mydb.login("com.mysql.jdbc.Driver","jdbc:mysql://localhost/rouyesh", "username", "password", true); 
     mydb.executeSQLQuery("delete from products where id=" + id); 
     mydb.commit(); 
    %> 

    <jsp:forward page="adminProducts.jsp"></jsp:forward> 
    </body> 
</html> 
+0

En savoir servlets. – BalusC

Répondre

3

Il n'y a pas de problème avec le transfert. Le contrat de transfert consiste à ne pas modifier l'URL du tout car c'est une opération côté serveur. Si vous voulez que la barre d'adresse affiche l'adresse correcte, faites une redirection.

+0

quel tag dois-je utiliser? place de l'avant pour passer mes paramitres? –

+0

Le problème dépend du nombre de paramètres à transmettre. Si le nombre est petit alors vous devriez les passer en paramètres GET. Dans le cas contraire, vous devrez passer car GET a une limite de paramètres que vous pouvez passer. Dans ce cas, utilisez soit de la mémoire du serveur pour stocker le paramètre entre les requêtes soit essayez une réécriture d'URL – Fazal

2

remplacer

<jsp:forward page="adminProducts.jsp"></jsp:forward> 

avec

response.sendRedirect("adminProducts.jsp");