IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Récupérer un résultat dans un textarea


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut Récupérer un résultat dans un textarea
    Salut à tous,

    J'ai une composante "Textarea" sous laquelle j'ai mis un formulaire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    <ui:define name="body">
         <h:body>
            <center>
                <h4>UPLOAD APPLICATION</h4>
                <br/>
                <h:form id="fichier" enctype="multipart/form-data"  >
                    <center><p:inputTextarea style="width:500px;height:110px;" effectDuration="400" disabled="true" id="output_screen" /></center>
                    <p:separator />
              <h:panelGrid columns="2" cellpadding="5">
     
     
                <h:outputLabel  value="Keyname:" />
                <p:inputText value="#{application.keyname}" id="inst_key" required="false" disabled="true"/>
               <!-- <p:commandButton value="Generate" type="button" disabled="true"/> -->
               </h:panelGrid>
     
                    <p:commandButton value="Upload application"  type="submit" />
                    <p:commandButton value="Describe instances" type="submit" action="#{applicationController.describeInstances}" />
     
                    <p:commandButton value="Check" type="submit"/>
            </h:form>
               </center>
             <br/>
             °: Applications must be stored under the ~/
        </h:body>
     
                </ui:define>
    le traitement qui va se faire lorsque l'utilisateur clique sur le bouton "Describe instances", je veut la récupérer dans le "Textarea"...

    Remarque 1: Içi j'utilise le jeu de composants PrimeFaces!

    Remarque 2: le traitement du bouton describeInstances est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    String s = null;
            try {
     
            String []cmd = { "/bin/bash", "-c","cd ~/euca2-karray-x509/;. eucarc; euca-describe-instances"};
     
                Process p = Runtime.getRuntime().exec(cmd);
     
                BufferedReader stdInput = new BufferedReader(new
                     InputStreamReader(p.getInputStream()));
     
                BufferedReader stdError = new BufferedReader(new
                     InputStreamReader(p.getErrorStream()));
     
     
                System.out.println("Here is the standard output of the command:\n");
     
                while ((s = stdInput.readLine()) != null) {
                    System.out.println(s);
                }
     
                System.out.println("Here is the standard error of the command (if any):\n");
                while ((s = stdError.readLine()) != null) {
                    System.out.println(s);
                }
     
                System.exit(0);
            }
            catch (IOException e) {
                System.out.println("exception happened - here's what I know: ");
                e.printStackTrace();
                System.exit(-1);
            }
    Avec S est le résultat de ce traitement, et ce que je veut l'afficher !

    Merci pour votre aide!

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Quelqu'un m'a proposer de faire du javascript, je me suis alors hésité si c'était la bonne solution ou non

    Avez vous une idée?

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Bonjour

    Le javascript c'est pour des évènements du client (navigateur) et traiiter certaines choses sans avoir à recourir au serveur.
    Dans ton cas je pense que tu as forcément besoin d'aller au serveur (si j'ai bien compris) pour récupérer les résultats d'exécutions. Ce que je ferais c'est faire une méthode qui retourne un String et utiliser ce String pour alimenter un message où binder le textarea à un String qui sera mis à jour lors de l'appel de ta méthode.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    C'est pas bien compliqué, essaie ca :
    ==> Coté client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    <center><p:inputTextarea style="width:500px;height:110px;" effectDuration="400" disabled="true" id="output_screen" value="#{applicationController.monResultatCommande}"/>
    ...
    <p:commandButton value="Describe instances" type="submit" action="#{applicationController.describeInstances}"  update= "fichier fichier:output_screen"/>
    Et dans la methode de ton managedbean, apres l'execution de la commande tu mets à jour le champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...
    this.setMonResultatCommande(stdInput.readLine());
    Fonctionnellement en mettant le update ,ca force primefaces au retour de l'appel serveur à mettre jour ce champ. ca fait du code propre

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Merci DevServlet pour votre réponse mais j'ai eu un problème:

    Quand j'ai ajouté la ligne de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setMonResultatCommande(stdInput.readLine());
    dans ma méthode "describeInstance" (qui se trouve dans une classe a part), j'ai eu un message d'erreur sur setMonResultatCommande

    cannot find symbol
    symbol: method setMonResultatCommande(java.lang.String)
    location: class org.controllers.ApplicationController
    Que dois je faire? Merci

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Autre chose
    Que voulez vous dire par la variable monResultatCommande ?

    Merci!

Discussions similaires

  1. [SAX] Parser un XML er récupérer le résultat dans une classe
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 23/12/2009, 16h37
  2. Réponses: 5
    Dernier message: 16/02/2006, 16h06
  3. Récupérer le résultat d'une PS dans une table temporaire ?
    Par maitrebn dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/02/2006, 09h24
  4. récupérer le résultat d'une requête sql dans un edit
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2005, 14h07
  5. Réponses: 7
    Dernier message: 30/06/2005, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo