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 :

Execution d'une page Jsf


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut Execution d'une page Jsf
    Bonjour, je fais mes premiers pas en jsf et j'essais d'executer une page jsp prise sur le net

    push.xhtml
    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
    <?xml version='1.0' encoding='UTF-8' ?>
    <!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">
     
        <ui:composition xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:a4j="http://richfaces.org/a4j"
        xmlns:rich="http://richfaces.org/rich">
     
        <h:form>
            <a4j:push interval="1000" eventProducer="#{push.addListener}"
                reRender="push,out" enabled="#{push.enabled}" id="push"/>
            <rich:panel>
            <f:facet name="header">
                <h:outputText value="Push Example"/>
            </f:facet>
            <h:panelGrid columns="1" id="out">
                <h:outputText rendered="#{!push.enabled}" value="Press Start to run push example"/>
                <h:panelGroup rendered="#{push.enabled}">
                    <h:outputText value="Generated UUID:"/>
                    <h:outputText value="#{push.uuid}"/>
                </h:panelGroup>
                <h:panelGroup>
                    <a4j:commandButton value="Start" action="#{push.start}"
                        ajaxSingle="true" rendered="#{!push.enabled}" reRender="push, out"/>
                    <a4j:commandButton value="Stop" action="#{push.stop}"
                        ajaxSingle="true" rendered="#{push.enabled}" reRender="push, out"/>
                </h:panelGroup>
            </h:panelGrid>
            </rich:panel>
        </h:form>
    </ui:composition>
     
     
    </html>
    PushBean.java
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    package Beans;
     
     
    /**
     *
     * @author laplace
     */
    import java.util.Date;
    import java.util.EventListener;
    import java.util.EventObject;
    import java.util.UUID;
     
    import org.ajax4jsf.event.PushEventListener;
     
    /**
     * @author Ilya Shaikovsky
     *
     */
     
    public class PushBean implements Runnable {
     
        private String uuid = "";
     
        private boolean enabled = false;
     
        private Date startDate;
     
        PushEventListener listener;
     
        private Thread thread;
     
        // private int eventsFired counter;
     
        public void addListener(EventListener listener) {
            synchronized (listener) {
                if (this.listener != listener) {
                    this.listener = (PushEventListener) listener;
                }
            }
        }
     
        public void run() {
            while (thread != null) {
                try {
                    if (((new Date()).getTime()-startDate.getTime())>=60000) {
                        stop();
                    }
                    uuid = UUID.randomUUID().toString();
                    listener.onEvent(new EventObject(this));
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    // e.printStackTrace();
                }
            }
        }
     
        public String getUuid() {
            return uuid;
        }
     
        public void start() {
            if (thread == null) {
                thread = new Thread(this);
                thread.setDaemon(true);
                thread.start();
                setStartDate(new Date());
                setEnabled(true);
            }
        }
     
        public void stop() {
            if (thread != null) {
                //thread.stop();
                setStartDate(null);
                setEnabled(false);
                thread = null;
            }
        }
     
        public Thread getThread() {
            return thread;
        }
     
        public boolean isEnabled() {
            return enabled;
        }
     
        public void setEnabled(boolean enabled) {
            this.enabled = enabled;
        }
     
        public Date getStartDate() {
            return startDate;
        }
     
        public void setStartDate(Date startDate) {
            this.startDate = startDate;
        }
    }
    et la config dans le face-config est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <managed-bean>
         <managed-bean-name>push</managed-bean-name>
         <managed-bean-class>Beans.PushBean</managed-bean-class>
         <managed-bean-scope>session</managed-bean-scope>
      </managed-bean>
    Quand j'execute rien ne s'affiche, j'ai une page blanche alors que je devrais avoir quelque chose de (voir le lien)
    http://ludvigsens.net/richfaces-3.3....push&tab=usage

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    et ta configuration??
    tu as pu testé un composant simple..jsf ou richfaces..

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    regarde le code source de ta page blanche affichée, si tu voie du code JSF c'est que votre code n'est pas exécuté. Dans ce cas il faut revoir la configuration de ton projet.

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    Pour resoudre mon problème j'essais de partir de zero avec un nouveau projet et en utilisant les codes générés par defaut.
    Je precise d'abord que je suis sous Netbeans 6.9.1.
    Après avoir créé un projet j'ai creé deux pages (une jsf page avec synthaxe jsp appelé test.jsp:
    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
    <%-- 
        Document   : test
        Created on : 17 nov. 2010, 08:35:30
        Author     : laplace
    --%>
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
     
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <f:view>
        <html>
            <head>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
                <title>JSP Page</title>
            </head>
            <body>
                <h1><h:outputText value="Hello World!"/></h1>
            </body>
        </html>
    </f:view>
    et une seconde page jsp appélé test1.jsp
    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
    <%-- 
        Document   : test1
        Created on : 17 nov. 2010, 08:36:55
        Author     : laplace
    --%>
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World test 1!</h1>
        </body>
    </html>
    A l'exécution:
    http://localhost:8080/WebApplication5/test1.jsp test1 se passe bien
    mais http://localhost:8080/WebApplication5/test.jsp pour test j'ai l'erreur
    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasper.JasperException: java.lang.RuntimeException: Cannot find FacesContext

    root cause

    java.lang.RuntimeException: Cannot find FacesContext

    note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    j'ai ajouté /faces/ à l'url pour que ça marche.
    Alors j'ai repris mon exemple de plus haut ActionParam.xhtml
    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
    <?xml version='1.0' encoding='UTF-8' ?>
    <!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">
        <ui:composition xmlns="http://www.w3.org/1999/xhtml"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich">
     
            <style>
                .outergridvalidationcolumn {
                    padding: 0px 30px 10px 0px;
                }
            </style>
     
        <a4j:outputPanel ajaxRendered="true">
            <h:messages style="color:red" />
        </a4j:outputPanel>
        <h:panelGrid columns="2" columnClasses="outergridvalidationcolumn">
     
            <h:form id="form1">
                    <h:panelGrid columns="2">
                        <h:outputText value="Name" />
                        <h:inputText value="#{userBean.name}">
                            <a4j:support event="onkeyup" reRender="outname" />
                        </h:inputText>
                        <h:outputText value="Job" />
                        <h:inputText  required="true" id="job2" value="#{userBean.job}" />
                    </h:panelGrid>
            </h:form>
     
            <h:form id="form2">
                <h:panelGrid columns="2">
                    <h:outputText value="Name" />
                    <a4j:region>
                        <h:inputText value="#{userBean.name}">
                            <a4j:support event="onkeyup" reRender="outname" />
                        </h:inputText>
                    </a4j:region>
                    <h:outputText value="Job" />
                    <h:inputText   required="true"  id="job1"  value="#{userBean.job}" />
                </h:panelGrid>
            </h:form>
     
        </h:panelGrid>
        <h:outputText id="outname" style="font-weight:bold" value="Typed Name: #{userBean.name}" />
        <br />
    </ui:composition>
    </html>
    et j'ai toujours la page banche. Quand je jette un coup d'oeil dans le code source de la page banche, le code que j'ai entré est là sans modif

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    regarde ton fichier web.xml, il te manque quelques configurations peut être, vérifie que tout est bon.

    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>

Discussions similaires

  1. inclure une page jsf dans une autre page jsf
    Par cooltype dans le forum JSF
    Réponses: 3
    Dernier message: 17/07/2008, 11h28
  2. Réponses: 6
    Dernier message: 02/04/2007, 19h13
  3. lancer un executable depuis une page
    Par manshoon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/08/2006, 11h33
  4. Stopper execution d'une page jsp
    Par julien20vt dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 26/07/2006, 08h41
  5. [VB.NET] Temps d'éxécution d'une page...
    Par Webman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/06/2004, 12h20

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