2010-04-10 10 views
0

J'ai une question sur la façon d'autoriser ma page jsp à envoyer une commande de publication au serveur, tout en laissant le navigateur suivre la direction de la page affichée.java httpclient post

Voici le code snipets:

Code

qui fait le poste (ce qui est à l'intérieur d'un fichier jsp):

HttpClient client = new DefaultHttpClient(); 
client.getParams().setParameter("SUBMITTED", "submitted"); 
client.getParams().setParameter("xxxxxxxx", purchaser.getemail()); 
client.getParams().setParameter("xxxxxxxx", purchaser.getsuject()); 

HttpPost method = new HttpPost(url+"process.jsp"); 
client.execute(method); 

ici est un snipet de process.jsp

if (person.getStatus() == person.ACTIVE) 
    response.sendRedirect("Account.jsp); 
else if (person.getStatus() == person.ERROR) 
    response.sendRedirect("Error.jsp); 

Je voudrais le navigateur à la jachère/goto la redirection du processus.jsp. Est-ce que quelqu'un sait un tutoriel qui m'aiderait ou je vais à ce sujet dans le mauvais sens.

+0

Il sera beaucoup plus facile d'aider si vous formatez votre code correctement en utilisant l'éditeur de texte riche. – Syntactic

+0

Il peut s'agir simplement d'erreurs de typo ou de copypaste, mais les citations de fin manquent dans les arguments de chaîne des deux 'sendRedirect()'. – BalusC

Répondre

1

Vous allez en effet dans le mauvais sens avec ceci. Comme avec tout "code Java brut dans une JSP" cette logique appartient à une classe Java réelle, pas dans un fichier JSP. Créez une servlet qui le fait et laissez-la rediriger/transférer la requête vers le fichier JSP qui vous intéresse. JSP est une technologie de visualisation qui fait en réalité partie du corps de la réponse. Si vous essayez de modifier la réponse à mi-chemin d'une JSP, vous ne vous retrouverez qu'avec IllegalStateException: response already committed.

De plus, l'ensemble de l'exigence fonctionnelle n'est pas clair à partir de la question. J'ai l'impression que les deux fichiers JSP s'exécutent dans le même environnement et que l'approche HttpClient entière est erronée. Commencez à en apprendre un peu plus sur les servlets. This is a good starting point.