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 400 uniquement avec Internet Explorer


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut Erreur 400 uniquement avec Internet Explorer
    Bonjour à tous,

    J'utilise JSF avec Seam dans une application web.
    A un moment donné, suite à la validation d'une modification via un panneau de confirmation, je souhaite rediriger la page sur une autre page d'une application web différente mais présent sur le même serveur (JBoss).
    Cette autre application web n'est pas gérée avec Seam et JSF.
    Voici quelques éléments de code pour info :

    Page de modification en xhtml (appel d'une demande de confirmation)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ....
    <a4j:commandButton styleClass="search" ajaxSingle="true" value="> #{messages['~save']}"  id="linkConfirm">
        <rich:componentControl for="panelConfirm" attachTo="linkConfirm" operation="show" event="onclick" />
    </a4j:commandButton>
    .....
    Le panneau de confirmation sur la même page
    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
     
    ...
    <rich:modalPanel id="panelConfirm" autosized="true">
    	<f:facet name="header">
    		<h:panelGroup>
    		    <h:outputText value="Confirmer" />
    		</h:panelGroup>
    	</f:facet>
            <h:form id="formConfirm">
    		<center><s:div style="width:250px">
    			<p><h:outputText value="#{messages['confirmRecord2']}" /><br />
    			</p>
    	<h:commandButton image="/img/ok.png" action="#{modifySubscriber.updateSubscriber}" />
        <rich:spacer width="20px" />
        <h:commandButton image="/img/no.png" action="#"  />
    	</s:div></center>
        </h:form>
    </rich:modalPanel>
    ....
    Pages.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        <page bundle="labels" view-id="/subscriber/modifyAdress.xhtml">
            <begin-conversation join="true" />
            <navigation>          
                <rule if-outcome="ok">
                    <redirect view-id="document.location.href='#{facesContext.externalContext.request.contextPath}/../AutreApp/jsp/tsoperator/ManageSubscribers.jsp'" />
                </rule> 
                <rule if-outcome="backToLegalInfo">
                    <redirect view-id="/subscriber/modifyLegalInfo.xhtml" />
                </rule>
            </navigation>
        </page>
    De là sur firefox je n'ai aucun problème la redirection marche sans problème. Cependant sur Internet explorer j'obtiens une erreur 400.
    J'ai essayé d'écrire cette redirection de manière différente :
    dans pages.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <redirect view-id="/../AutreApp/jsp/tsoperator/ManageSubscribers.jsp" />
    Directement sur la page xhtml avec un onclick :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="document.location.href='#{facesContext.externalContext.request.contextPath}/../AutreApp/jsp/tsoperator/ManageSubscribers.jsp'"
    mais le problème reste le même

    Est ce que quelqu'un à une idée de ce qui ne va pas ? svp

    Edit :
    J'ai aussi essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <redirect view-id="document.location.href='#{facesContext.externalContext.request.scheme}://#{facesContext.externalContext.request.serverName}:#{facesContext.externalContext.request.serverPort}/AutreApp/jsp/tsoperator/ManageSubscribers.jsp'" />
    Firefox Ok / I.E toujours erreur 400
    Je suis à court d'idées

  2. #2
    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
    Bonjour,

    IE pose toujours des problèmes, il ne respecte pas les norme. Essaye de tester avec la version IE8. Ils commencent à respecter les normes à partir de cette version.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    Pardon j'ai oublié de préciser que j'ai testé avec IE8 et je confirme bien que l'erreur 400 s'affiche avec cette version de IE et même antérieur.
    J'aimerais bien pouvoir dire aux personnes utilisant IE que si ils veulent utiliser cette webApp il faut utiliser un autre navigateur, mais ça serait trop facile .
    En tout merci pour ta réponse otabbakh.
    Si tu as d'autres idées n'hésites pas.

  4. #4
    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
    pourquoi tu utilises document.href??

    tu as essayé de mettre le lien de la vue directement..

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    En fait je ne veux pas mettre de lien du type "http://localisation/AutreWebApp/laPageQueJeVeux" car pour l'heure je teste sur ma machine (du coup j'utiliserais mon ip ou localhost dans l'url)
    Je recherche un moyen "dynamique" de remonter dans le serveur sur le quel une webApp redirige sur une autre webApp localisé sur le même serveur.
    Je ne suis pas sûr d'être clair désolé
    @ Sniper37: pour ton conseil, j'ai essayé un "onclik" sans href mais toujours la même chose

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    Je pense avoir trouvé!
    Comme je travail sur application sur laquelle je découvre tout (il n'y a même pas de commentaire), ce n'était pas chose aisé.
    Bref, au final il fallait intervenir sur la classe modifySubscriber (ça c'est son nom seam) dans laquelle une une action de redirection s'y trouvait déjà.
    Donc une fois la classe java(managed bean) repéré on remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    try {       
                subscriberService.updateSubscriber(selectedSubscriber);
                facesContext.getExternalContext().redirect("/../AutreApp/jsp/tsoperator/ManageSubscribers.jsp");
            } catch ...
    ->fonctionne avec firefox et chrome mais pas IE

    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    try {       
                subscriberService.updateSubscriber(selectedSubscriber);
                facesContext.getExternalContext().redirect("/AutreApp/jsp/tsoperator/ManageSubscribers.jsp");
            } catch ...
    ->fonctionne avec firefox et chrome ET IE

    pages.xml devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
        <page bundle="labels" view-id="/subscriber/modifyAdress.xhtml">
            <begin-conversation join="true" />
            <navigation>          
                <rule if-outcome="backToLegalInfo">
                    <redirect view-id="/subscriber/modifyLegalInfo.xhtml" />
                </rule>
            </navigation>
        </page
    ...
    ->on enlève toutes références de la redirection se trouvant déjà dans la classe java.

    Et la page xhtml reste inchangé.

    Le tout semble fonctionner correctement.

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

Discussions similaires

  1. Erreur de script avec Webbrowser mais pas avec internet explorer
    Par developpeurvb dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/07/2014, 18h57
  2. Réponses: 0
    Dernier message: 22/07/2014, 17h41
  3. Erreur WCF avec Internet Explorer
    Par Invité dans le forum Windows Communication Foundation
    Réponses: 0
    Dernier message: 25/06/2010, 09h23
  4. erreurs javascript avec internet explorer
    Par cowboydeluxe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/11/2009, 10h53
  5. [W3C] pb avec Internet Explorer
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/03/2005, 15h02

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