Probléme d'affichage

nehed - Modifié par nehed le 22/04/2014 à 15:49
 nehed - 23 avril 2014 à 15:19
Bonjour,

Je développe une application jee, struts 2 et je vise afficher le résultat d'une commande traceroute dans une page jsp mais mon problème ce que tout s'affiche dans le console et rien ne s'affiche dans page.
quelqu'un a une idée SVP

7 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
22 avril 2014 à 16:05
Salut,

Tu lances un traceroute avec un Runtime.exec() ?

Dans ce cas, il faut récupérer les flux de sortie et les afficher dans ta jsp.

Peux tu me montrer ton code, je te dirai comment faire
0
Voilà mon code qui marche très bien mais le problème que le résultat de ce code s'affiche dans le console d'eclipse pas dans ma page jsp.

    public String tracePing()
{
EquipementAction obj = new EquipementAction();

String domainName = this.adress_ip;
String command = "traceroute -m20 " + domainName;

String output = obj.executeCommand(command);

System.out.printf(output);
return "traceEquipement";

}

private String executeCommand(String command) {

StringBuffer output = new StringBuffer();

Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}

} catch (Exception e) {
e.printStackTrace();
}
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
23 avril 2014 à 08:27
Le code java est bon, tu récupères bien dans un String le résultat, mais il serait préférable d'utiliser des StringBuilder et non des StringBuffer (mais le problème n'est pas là).

Une fois que tu as récupéré le résultat de ton traceroute, qu'est ce que tu en fais ? Comment l'affiches tu dans ta page html ?

Quelque part, tu dois avoir un System.out.println qui affiche le résultat dans la console, et ce n'est pas ce que tu veux faire.
0
D'accord et bon pour l'affichage j'ai ajouté ces deux lignes dans mon fichier struts.xml

<action name="tracePing"
class="com.equipement.action.EquipementAction" method="tracePing">
<result name="traceEquipement">admin/historiquePing.jsp</result>

</action>
Mais une fois je tape
System.out.println(output);
la page HistoriquePing.jsp s'affiche avec 0 résultat tout s'affiche dans le console d'eclipse et mon but c'est que le résultat du traceroute s'affiche au niveau de ma page historiquePing.jsp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 avril 2014 à 12:52
Salut,

ca ne va pas résoudre ton problème mais pense à mettre le chemin complet de ton application traceroute.
En fonction du contexte de démarrage java peut ne pas trouver le binaire avec un chemin relatif.

Sinon provisoirement essai de remplacer le p.getInputStream() par p.getErrorStream(), comme ça tu auras accès au flux d'erreur (on ne sait jamais)


0
Merci,je vais essayer avec p.getErrorStream() mais bon qu'on j'ai essayer d'afficher le résultat en étant un erreur avec
addActionError(output)
au lieu de System.out.println(output);
j'aurais un affichage du résultat dans ma page jsp mais le résultat est mal affiché tout dans une même ligne
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 avril 2014 à 14:12
Salut,

"j'aurais un affichage du résultat dans ma page jsp mais le résultat est mal affiché tout dans une même ligne"

Ha mais tu as quand même le résultat et du coup c'est plus un pb de mise en page ?
j'ai cru comprendre que tu n'avais justement pas le résultat escompté.

0
si si j'arrive à avoir une résultat mais seulement qu'on j'utilise addActionError ,il considère le résultat comme étant un erreur du coup il l'affiche dans une seul ligne
0
Rejoignez-nous