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

JSF Java Discussion :

inserer une page dans une autre page


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut inserer une page dans une autre page
    salut tout le monde je veux bien include une page "test.xhtml" dans cette partie <rich:layoutPanel position="center"> en click sur le bouton mais je n'arrive pas à faire

    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
    33
    34
    35
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"    xmlns:h="http://java.sun.com/jsf/html"    xmlns:f="http://java.sun.com/jsf/core"    xmlns:ui="http://java.sun.com/jsf/facelets"    xmlns:a4j="http://richfaces.org/a4j"    xmlns:rich="http://richfaces.org/rich"> 
     
    	<rich:panel >
       <h:panelGrid  width="60%">
          <rich:layout>
             <rich:layoutPanel position="top" width="200">
    		<h:graphicImage value="./images/back.gif"/>
    		<h1>exemple</h1>
    	  </rich:layoutPanel>
    	  <rich:layoutPanel position="left">
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre"  />
          <a4j:commandButton value="Annuler"  />
     
     </h:panelGroup>
    	     </rich:layoutPanel>
    	     <rich:layoutPanel position="center">
     
    	     </rich:layoutPanel>
     
    	       <rich:layoutPanel position="right">
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre"  />
          <a4j:commandButton value="Annuler"  />
     
     </h:panelGroup>
    	     </rich:layoutPanel>
     
    	 </rich:layout>
          </h:panelGrid>
    </rich:panel>
     
    </ui:composition>
    merci

  2. #2
    Membre actif Avatar de mr1azl
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Essayes de la mettre dans une iframe et en cliquant sur le bouton tu reRender la iFrame

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Ah, mais non, pas une iFrame !!!

    Il faut plutôt opter pour quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <rich:layoutPanel position="center">
        <h:panelGroup layout="block" id="div-wrapper">
            <h:panelGroup layout="block" rendered="#{monBean.maCondition}">
                <ui:include src="path/to/test.xhtml"/>
            </h:panelGroup>
        </h:panelGroup>
    </rich:layoutPanel>
     
    <a4j:commandButton value="Test" actionListener="#{monBean.changeMaCondition}" reRender="div-wrapper"/>
    Le principe c'est que tu as 2 DIV (<h:panelGroup layout="block"> génère un DIV en HTML) :

    • Le premier va englober le tout, et va servir à être rafraichi en Ajax
    • Le deuxième, contenu dans le 1er, va contenir la page test.xhtml, mais ne sera affichée que conditionnellement. Cette condition est liée à une propriété de type booléen (monBean.maCondition), et l'appel ajax du bouton (monBean.changeMaCondition()) va permettre de faire passer ce flag de false (contenu de la page cachée) à true (contenu de la page affiché).

    Voilà voilà. Mais l'iFrame, faut éviter. Vraiment.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par mr1azl Voir le message
    Essayes de la mettre dans une iframe et en cliquant sur le bouton tu reRender la iFrame
    Qu'on lui coupe la tête

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Et puis pour peu qu'on utilise des iFrames, on risque de se faire poursuivre par Apple
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    mais comment construire monBean
    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
     
     
     
    public class monBean {
     
     
    	private boolean maCondition=false;
    public boolean isMaCondition() {
    		return maCondition;
    	}
    	public void setMaCondition(boolean maCondition) {
    		this.maCondition = maCondition;
    	}
     
    }

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String changeMaCondition(){
      maCondition = !maCondition;
      return "done";
    }
    pour reprendre l'exemple

  8. #8
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Enfin, légère modification par rapport à mon exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void changeCondition(ActionEvent evt) {
        this.condition = !this.condition;
    }
    mais le principe est bon.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  9. #9
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    je vous montre modification mais si je click sur le bouton aucun changement ça ne ramene aune page le bouton test ne fonctionne pas

    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
    33
    34
    35
    36
    37
    38
    39
    40
     
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"    xmlns:h="http://java.sun.com/jsf/html"    xmlns:f="http://java.sun.com/jsf/core"    xmlns:ui="http://java.sun.com/jsf/facelets"    xmlns:a4j="http://richfaces.org/a4j"    xmlns:rich="http://richfaces.org/rich"> 
     
    	<rich:panel >
       <h:panelGrid  width="60%">
          <rich:layout>
             <rich:layoutPanel position="top" width="200">
    		<h:graphicImage value="./images/back.gif"/>
    		<h1>merci</h1>
    	  </rich:layoutPanel>
    	  <rich:layoutPanel position="left">
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre"  />
        <a4j:commandButton value="Test" actionListener="#{inserer.changeCondition}" reRender="div-wrapper"/> 
     
     </h:panelGroup>
    	     </rich:layoutPanel>
    	     <rich:layoutPanel position="center">
    	         <h:panelGroup layout="block" id="div-wrapper">
            <h:panelGroup layout="block"         rendered="#{inserer.condition}">
     <ui:include src="/start.xhtml"/>
            </h:panelGroup>
        </h:panelGroup>
     
    	     </rich:layoutPanel>
     
    	       <rich:layoutPanel position="right">
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre"  />
          <a4j:commandButton value="Annuler"  />
     
     </h:panelGroup>
    	     </rich:layoutPanel>
     
    	 </rich:layout>
          </h:panelGrid>
    </rich:panel>
     
    </ui:composition>
    et la page start.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"    xmlns:h="http://java.sun.com/jsf/html"    xmlns:f="http://java.sun.com/jsf/core"    xmlns:ui="http://java.sun.com/jsf/facelets"    xmlns:a4j="http://richfaces.org/a4j"    xmlns:rich="http://richfaces.org/rich"> 
     
    	<rich:panel >
    	<h:graphicImage value="./images/back.gif" style=" width : 224px;"/>
     
    </rich:panel>
     
    </ui:composition>
    et le fichier inserer

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
     
     
    import java.awt.event.ActionEvent;
    import java.io.File;
    import java.io.IOException;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
     
    import javax.faces.context.FacesContext;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;
     
    import com.mysql.jdbc.Connection;
    import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;
     
     
     
     
    public class inserer {
     
    	private boolean condition=false;
     
     
    	public boolean isCondition() {
    		return condition;
    	}
     
    	public void setCondition(boolean condition) {
    		this.condition = condition;
    	}
     
     
    	public void changeCondition(ActionEvent evt) {
    	    this.condition = !this.condition;
    	} 
     
     
    }
    j'ai message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Unable to create managed bean inserer. The following problems were found: - The property condition for managed bean inserer is defined with a property class of java.lang.Boolean, however, this class is not assignable to the property.
    je vous montre aussi face-config
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xi="http://www.w3.org/2001/XInclude"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
     <managed-bean>
      <managed-bean-name>inserer</managed-bean-name>
      <managed-bean-class>inserer</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
      <managed-property>
       <property-name>condition</property-name>
       <property-class>java.lang.Boolean</property-class>
       <value/>
      </managed-property>
     </managed-bean>
     <application>
      <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
     </application>
    </faces-config>

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    boolean ce n'est pas la même chose que Boolean. Vous ne pouvez pas assigner votre valeur (ici null) à un boolean qui ne peux prendre que true ou false.

  11. #11
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    boolean ce n'est pas la même chose que Boolean. Vous ne pouvez pas assigner votre valeur (ici null) à un boolean qui ne peux prendre que true ou false.
    toujours meme message avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <value>false</value>

  12. #12
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    ça avance pour résoudre problème

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:rich="http://richfaces.org/rich"
          xmlns:a4j="http://richfaces.org/a4j">
     
     
     
     
    <head>
     
    <title>Insert title here</title>
    <link   rel="stylesheet"  media="screen"  title="Exemple"  type="text/css" href="1.css" />
     
          </head>
        <body style="width: 860px;
       margin: auto;
       margin-top: 20px;
       margin-bottom: 20px; 
        border:3px solid "> 
     
    	 <f:view>
     
    <h:form>
     
     
          <rich:layout>
             <rich:layoutPanel position="top"  >
    		<h:graphicImage value="./images/back.gif" style=" width : 830px; background-color:#ffffff; border:3px solid;"/>
     
    	  </rich:layoutPanel>
    	  <rich:layoutPanel position="left"    style="background-color:#ffffff; border:3px solid;" >
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre" action ="#{inserer.toggle1}" reRender="div-wrapper1"/> 
        <a4j:commandButton value="Testtttt" action="#{inserer.toggle}" reRender="div-wrapper"/> 
     
     </h:panelGroup>
    	     </rich:layoutPanel>
     
     
    	     <rich:layoutPanel position="center" width="52%"   style="background-color:#ffffff; border:3px solid;   margin-left: 10px; ">
     
    	         <h:panelGroup layout="block" id="div-wrapper">
            <h:panelGroup layout="block"         rendered="#{inserer.condition}">
     <ui:include src="./imprimer1.xhtml"/>
     
     
     
     
            </h:panelGroup>
        </h:panelGroup>
     
     
     <h:panelGroup layout="block" id="div-wrapper1">
            <h:panelGroup layout="block"         rendered="#{inserer.condition1}">
     <ui:include src="./musta.xhtml"/>
            </h:panelGroup>
        </h:panelGroup>
     
    	     </rich:layoutPanel>
     
    	       <rich:layoutPanel position="right"     style="background-color:#ffffff; border:3px solid;">
    	 <h:panelGroup>
     	  <a4j:commandButton value="Soumettre"  />
          <a4j:commandButton value="Annuler"  />
     
     </h:panelGroup>
    	     </rich:layoutPanel>
     
    	 </rich:layout>
     
     
     
    			</h:form>
     
    			</f:view>
    			</body>
    </html>


    mais le problème que si je click sur le bouton le conttenue de la page s'affiche mais si je click sur deuxieme bouton le contenue s'affiche aussi alors dans ce cas j'ai deux pages affichés mais commetn faire pour cacher la premiere page si je click sur deuxieme bouton

  13. #13
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     	  <a4j:commandButton value="Soumettre" action ="#{inserer.toggle1}" reRender="div-wrapper,div-wrapper1"/> 
        <a4j:commandButton value="Testtttt" action="#{inserer.toggle}" reRender="div-wrapper,div-wrapper1"/>

  14. #14
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    mais je veux bien comprendre pourquoi avec actionlistener ne fonctionnne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <a4j:commandButton value="Test" actionListener="#{inserer.toggle1}" reRender="div-wrapper1"/>
    message d'erreur

    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
    33
    34
    35
    36
    37
    38
     
    GRAVE: javax.el.MethodNotFoundException: /select.xhtml @38,96 actionListener="#{inserer.toggle1}": Method not found: inserer@12b116f.toggle1(javax.faces.event.ActionEvent)
    	at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:72)
    	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
    	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
    	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:372)
    	at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
    	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
    	at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
    	at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
    	at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
    	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)

  15. #15
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    la méthode que tu essaie d'appeler n'existge pas, comme le dit le message.

  16. #16
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    mais pourquoi je vous montre code

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    import java.io.IOException;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    import javax.faces.context.FacesContext;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;
     
    import com.lowagie.text.pdf.codec.Base64.OutputStream;
     
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JRExporterParameter;
    import net.sf.jasperreports.engine.JasperCompileManager;
    import net.sf.jasperreports.engine.JasperExportManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.export.JRPdfExporter;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;
     
     
    public class imprimer {
     
    	public imprimer() {
    		// TODO Auto-generated constructor stub
    	}
    public String impri() throws InstantiationException, IllegalAccessException, ClassNotFoundException, JRException, IOException{
     
    		try {
     
    			// Load the JDBC driver
    			 ResultSet res3=null;
    				Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
    				 String serverName = "localhost";
    				    String mydatabase = "test";
    				    String url = "jdbc:mysql://" + serverName +  "/" + mydatabase; // a JDBC url
    					 String user = "root"; 
     
    			     String pass = "musta1";
     
     
    			     java.sql.Connection connection = DriverManager.getConnection(url, user, pass);
    					     Statement instruction = ((java.sql.Connection) connection).createStatement();
     
     
    					     JasperDesign jDesign = JRXmlLoader.load("C:\\Users\\Mustapha\\workspace\\mustapha\\WebContent\\1.jrxml");
    						  			    JasperReport jReport = JasperCompileManager.compileReport(jDesign);
     
     		    JasperPrint jasperPrint = JasperFillManager.fillReport(jReport, null, connection);
     	    FacesContext facesContext = FacesContext.getCurrentInstance() ;
     
    							   facesContext.getExternalContext().getResponse();
    							   HttpServletResponse response1 = (HttpServletResponse)facesContext.getExternalContext().getResponse();
    							     // Set response content type
    							   response1.setContentType("application/pdf");
    							   facesContext.responseComplete();
     
    						   // Create and export PDF to browser window
    						   JRPdfExporter exporter = new JRPdfExporter();
    						   System.out.println("salut97");
    						   exporter.setParameter(
    						   JRExporterParameter.JASPER_PRINT, jasperPrint);
    						   exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response1.getOutputStream());
    						   exporter.exportReport();
     
    							} catch (SQLException e) {
    								// TODO Auto-generated catch block
    								e.printStackTrace();
     
     
     
    		// JasperExportManager.exportReportToPdfFile(jasperPrint, "C://mustapha.pdf"); 
     
     
     
     
     
    			   //JasperViewer.viewReport(jasperPrint,false);
     
     
     
    			}return "retour";
    }
    }

  17. #17
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Déjà c'est pas la bonne classe, c'est la classe inserer qui est concernée, et c'est la méthode public void toggle1(ActionListener) qui n'existe pas.

  18. #18
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    salut la solution proposé n'est pas fiable par ce que le browser va monter toutes les page au meme temps et en plus je suis obligé a chaque fois ajouter un bouton alors d'ajouter incule trot de code dans le body pourquoi pas de faire un inculde par défaut sur la premiere page et si j'ai besoin de visualiser une page en cliquand sur le bouton alors appeler par paramettre la page a travers une classe bean


    je vous montre mon idée ça fonctionne bien mais je veux bien partager et confirmer si elle est uste et si il y a des amélioration

    le bean
    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
     
    public void testMethod(){ 
    	FacesContext context = FacesContext.getCurrentInstance(); 
    	Map map = context.getExternalContext().getRequestParameterMap(); 
    	String title1= (String) map.get("title"); 
     
    	if (title1.equals("TestValue"))
    	{
    		System.out.println("salut rachid  "+title1);
    	this.nume= "./musta.xhtml";
    	}
    	else if (title1.equals("TestValue1"))
    	{
    		System.out.println("salut rachid  "+title1);
    	this.nume= "./test.xhtml";
    	}
     
    	}
    et la page.xhtml contient


    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
     
     
    <a4j:commandButton action="#{imprimer.testMethod}" value="inserer1"   reRender="div-wrapper">
    	<f:param name="title" value="TestValue" /> 
    </a4j:commandButton>
     
    <a4j:commandButton action="#{imprimer.testMethod}" value="supprimer"   reRender="div-wrapper">
    	<f:param name="title" value="TestValue1" /> 
    </a4j:commandButton>
     
     <h:panelGroup layout="block" id="div-wrapper">
            <h:panelGroup layout="block"         rendered="true">
     <ui:include src="#{imprimer.nume}"/>
            </h:panelGroup>
        </h:panelGroup>

  19. #19
    Membre actif Avatar de mr1azl
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 77
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Qu'on lui coupe la tête
    +1

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 11h52
  2. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 14h35
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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