Je voudrais pouvoir remplir un champ de formulaire en passant par java car le programme se charge de récupérer la variable et de l'envoyer automatiquement à la page web.
J'ai donc fais des recherches et j'ai trouvé comme solutions HttpClient, le code est fait, le retour se fait sans problème, le contenue html/php s'affiche dans le retour d'Eclipse avec ma variable mise en POST mais je n'arrive pas à faire le lien avec ma page web (hébergé en local sur WAMP). Le champ ne se remplis pas, la variable reste vide.
<!DOCTYPE html>
<html>
<head>
<title>Ceci est une page de test avec des balises PHP</title>
<meta charset="utf-8" />
</head>
<body>
<p>
Veuillez taper votre ID :
</p>
<form action="cible.php" method="post">
<p>
<input type="text" name="prenom" value="<?php echo $_POST['prenom'] ?>"/>
<input type="submit" value="Valider" />
</p>
</form>
<form action="test.php">
<input type="submit" value="Precedent"/>
</form>
</body>
</html>
<?--value="<?php echo $_POST['prenom'] ?>" --?>
- Et voilà le programme Java :
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.log4j.BasicConfigurator;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class php {
public static void main(String args[]) {
BasicConfigurator.configure();
// On cree le client
HttpClient client = new HttpClient();
// Le HTTPMethod qui sera un Post en lui indiquant l’URL du traitement du formulaire
PostMethod methode = new PostMethod("http://localhost/cible.php");
// On ajoute les parametres du formulaire
methode.addParameter("prenom", "TEST"); // (champs, valeur)
// Le buffer qui nous servira a recuperer le code de la page
BufferedReader br = null;
try
{
// http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/HttpStatus.html
int retour = client.executeMethod(methode);
// Pour la gestion des erreurs ou un debuggage, on recupere le nombre renvoye.
System.out.println("La reponse de executeMethod est : " + retour);
br = new BufferedReader(new InputStreamReader(methode.getResponseBodyAsStream()));
String readLine;
// Tant que la ligne en cours n’est pas vide
while(((readLine = br.readLine()) != null))
{
System.out.println(readLine);
}
}
catch (Exception e)
{
System.err.println(e); // erreur possible de executeMethod
}
finally
{
// On ferme la connexion
methode.releaseConnection();
if(br != null)
{
try
{
br.close(); // on ferme le buffer
}
catch (Exception e) { /* on fait rien */ }
}
}
}
}
Je suis dans la même problématique que toi. As-tu trouver des solutions ?
cattia
Remplir un formulaire HTML via Java
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.