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 :

Erreur lors de redirection


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut Erreur lors de redirection
    Bonjour,
    je développe un projet en jsf/jpa, et j'ai eu le problème suivant:
    j'ai des données sous forme d'images, chaque image contient des nom par exemple, et ces nom sont classé par des Ring(RingA,RingB,...), j'ai 5 rings alors 5 images alors lorsque je veux afficher l'image qui contient le ring voulu, je fais la recherche dans la BD par nom, il récupère le ring et il affiche l'image qui le contient bon je sais que ce n'est pas si clair, alors voila un peu du code.
    concrètement c'est une application réseau et je gère la partie transmission,mais ces le même principe.
    Transmission.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Entity
    @NamedQuery(name="Transmission.findAll", query="SELECT t FROM Transmission t")
    public class Transmission implements Serializable {
        private static final long serialVersionUID = 1L;
     
        @Id
        @Column(name="Site")
        private String site;
        @Column(name="[Ring CET]")
        private String ring_CET;
         getters() & setters()...
    }
    TransmissionDao.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
    @Stateless
    public class TransmissionDao {
     
        @PersistenceContext(name="PFE")
        private EntityManager em;
     
        public TransmissionDao(){}
     
        public Transmission getBySite(String site)
        {
             Query query = em.createQuery("SELECT t FROM Transmission t WHERE t.site=:site");
             query.setParameter("site",site);
     
             List<Transmission> transmissions = query.getResultList();
             Transmission result = null;
             if(transmissions != null && transmissions.size() == 1){
                result = transmissions.get(0);
             }
             return result;
        }
     
        public Transmission affichRing(String site) throws IOException
        {
            String ring=getBySite(site).getRing_CET();
            if(ring=="RingA")
            {
                FacesContext.getCurrentInstance().getExternalContext().dispatch("RingA.xhtml");
            }
            return null;
        }
     
     
    }
    TransmissionBean.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
    @SessionScoped
    @Named
    public class TransmissionBean implements Serializable{
     
        @Inject
        private TransmissionDao tDao;
        private String site;
     
     
        public String getSite() {
            return site;
        }
     
        public void setSite(String site) {
            this.site = site;
        }
     
        public Transmission getTransmissionBySite() throws IOException
        {  
     
            return tDao.affichRing(site);
        }
     
    }
    Transmission.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <h:form>
        <h:panelGrid columns="3">
            <h:outputLabel value="Recherche un graphe de transmission: "/>
            <h:inputText id="keyword" value="#{transmissionBean.site}" class="form-control" required="true" label="Keyword" />
            <br />
            <h:commandButton value="Rechercher par Site"  class="btn btn-default"/>
        </h:panelGrid>
        <br/>
        </h:form>
        </div>
        <h:dataTable var="p" value="#{transmissionBean.transmissionBySite}" class="table table-bordered table-striped table-condensed">
    </h:dataTable>
    RingA.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    <h:graphicImage value="../images/RingA.png"/>
    ...
    l'erreur est : the server encountered an internal error that prevented it from fulfilling this request
    voila maintenant j'essaie juste de rechercher le site qui appartient au RingA et afficher la page qui contient cet image (RingA.png).
    je pense que le problème est que la méthode affichRing() n'arrive pas à atteindre 'return null' puisque j'ai une redirection avant vers une autre page , mais je ne sais pas faire autrement , qui a une solution pour cela , c'est hyper urgent,
    et merci pour tous votre aide qui m'a permit d'atteindre ce modeste niveau

  2. #2
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut
    je ne sais pas si c'est difficile à resoudre ,mais j'espere qu'il ya un membre qui peut m'aider

  3. #3
    Membre chevronné Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Par défaut
    Slt,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      if(ring=="RingA")
            {
                FacesContext.getCurrentInstance().getExternalContext().dispatch("RingA.xhtml");
            }
    doit s'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      if("RingA".equals(ring))
            {
                FacesContext.getCurrentInstance().getExternalContext().dispatch("RingA.xhtml");
            }
    ...

    ++

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut
    malheureusement, il reste toujours le même problème :/

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    essaye la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if(ring=="RingA")
            {
                FacesContext.getCurrentInstance().getExternalContext().redirect("RingA.xhtml");
            }
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if(ring=="RingA")
            {
                FacesContext.getCurrentInstance().getExternalContext().dispatch("RingA.xhtml");
            }
    Peut être ça fonctionnera

  6. #6
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut
    Bonjour , j'arrive toujours pas à resoudre ce probleme, mais au je sais d'où vient ,
    Dans la methode affiche situé dans la classe transmissionDao à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String ring=getBySite(site).getRing_CET();

    puisqu'il m'affiche
    at beans.TransmissionBean.getTransmissionBySite(TransmissionBean.java:34)
    at beans.TransmissionBean$Proxy$_$$_WeldClientProxy.getTransmissionBySite(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
    at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    at javax.faces.component.UIData.getValue(UIData.java:732)
    at javax.faces.component.UIData.getDataModel(UIData.java:1811)
    at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:484)
    at javax.faces.component.UIData.setRowIndex(UIData.java:473)
    at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:82)
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:869)
    at javax.faces.component.UIData.encodeBegin(UIData.java:1133)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Erreur lors d"une redirection de page
    Par Pynouz dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/08/2011, 14h35
  2. [Flex4] Erreur lors de la redirection vers une page jsf
    Par amydinfo dans le forum Flex
    Réponses: 2
    Dernier message: 04/08/2010, 19h33
  3. Erreur lors de la redirection
    Par olgga dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2007, 23h02
  4. Erreur lors d'une redirection
    Par cels dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2006, 13h39
  5. Message Erreur lors d'une redirection
    Par TOPGUN89 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/08/2006, 15h00

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