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

Struts 1 Java Discussion :

Problème de page blanche sur navigation avec html:link


Sujet :

Struts 1 Java

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Problème de page blanche sur navigation avec html:link
    Bonjour,

    Je travaille sur une grosse application développée en struts/java.
    J'ai un menu à gauche qui permet de faire varier le frame central.

    Extrait de la jsp pour le menu de gauche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <%@ page language="java"%>
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <tiles:insert template="/jsp/template/menu.jsp">
    <tiles:put name="content" type="string">
    <div id="masterdiv">
    <div class="menutitle" onclick="SwitchMenu('sub1')">Données individuelles</div>
    <span class="navForm" id="sub1">
       <html:link forward="/sc0601DisplayAction" target="contentFrame">Personnelles</html:link><br>
       <html:link forward="/sc0602DisplayAction" target="contentFrame">Carrière</html:link><br>
    </span>
    ....
    Les forwards sur DisplayAction font ensuite référence à une jsp via struts-config.xml. Par exemple :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <action path="/sc1200DisplayAction" type="com.ibm.b2e.usecase.uc12doc.sc12DocDem.Sc1200DisplayAction">
    	<forward name="success" path="/jsp/window/contentFrame/sc1200_XDocDem.jsp">
    	</forward>			
    </action>
    Tout cela constitue une partie qui a toujours fonctionné et fonctionne actuellement sur le serveur web de développement Eclipse ou un tomcat.

    Mais sur un serveur web 2 de mêmes caractéristiques à priori (tomcat 5.5.12) le problème est que quelle que soit la page que laquelle je clique, j'obtiens à tort une page blanche sur le frame central.

    Auriez-vous des idées pour expliquer pourquoi on peut obtenir une page blanche au lieu d'une jsp?
    Je ne vois pas pourquoi cela marche bien sur le serveur web 1 de la même machine, alors que la techno de déploiement est à partir du meme fichier .war est identique et a été faite de la même façon.
    Cela ne dépend pas du poste en tous cas (idem sur autres postes), et on a même pas de 'cannot find page', donc qu'est ce qui peut faire que l'on puisse obtenir une page blanche sans message d'erreur d'aide?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    que racconte tes logs

  3. #3
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Au sujet des logs
    En fait je ne vois rien d'intéressant dans les logs.

    Au niveau catalina.out : rien ne s'est écrit, mais c'est habituel car les displays applicatifs sont mis dans un log b2e.log propriétaire.

    Dans cette b2e.log, ce sont les mêmes displays que d'habitude, ce qui prouve que le clic du menu de gauche a bien été interprété.
    Voici pour info cette log appli b2e.log suite au clic, je suis passé dans les méthode associées à STRUTS :
    20 févr. 2007 15:32:26,355 (YCHARD) DEBUG [http-9105-Processor22] action.B2ERequestProcessor - RequestProcessor: checkSessionValidity - Test de validité de la session HTTP
    20 févr. 2007 15:32:26,355 (YCHARD) DEBUG [http-9105-Processor22] action.B2ERequestProcessor - RequestProcessor: processActionPerform - ActionForward
    20 févr. 2007 15:32:26,356 (YCHARD) DEBUG [http-9105-Processor22] base.ContextMgr - Removed context, actual table size: 0
    = quand ça marche sur le serveur web 1 ou Eclipse.

    Effectivement on aimerait bien savoir si le problème se situe au niveau de struts ou du mécanisme tomcat/jsp. Peut-on voir dans tomcat ce qui se passe au niveau échanges de pages (GET;PUT), car je n'ai pas de frontal apache et tomcat/logs est pauvre. Peut-on voir au niveau de struts si celui-ci passe bien dans le forward vers la jsp car on obtient une page blanche à la place.

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Pour struts il faudrait debugé le forward pour voir s il passe bien dedans a part un breakpoints ... je vois pas grand chose

  5. #5
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Comment breakpointer à postériori
    Comment ferais-tu pour pister le forward justement?

    car dans l'environnement de Eclipse, le problème est non reproduit. En plus même si j'avais Eclipse, je vois pas comment je pourrais mettre un breakpoint au niveau de struts/forward.

    Peut-être que ce que le peux faire, c'est mettre du java (system.output) dans la jsp cible non? Tu vois mieux?

  6. #6
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Résultat display dans la jsp
    Display dans la jsp forwardée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% System.out.println("entree dans sc1200_XDocDem.jsp"); %>
    Sur le serveur web 1 (là ou ça marche): display ok
    Sur le serveur web 2 (là ou ça ne marche pas): pas de display

    Donc j'aimerais bien en effet voir ce qui se passe avant au niveau de struts.

  7. #7
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Information sur les modes page jsp
    Je voudrais préciser que dans le frame qui devient blanc, le code jsp correspondant contient les clauses suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%@ page language="java" buffer="4096kb" autoFlush="false" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <%@ taglib uri="/WEB-INF/b2e-html.tld" prefix="b2ehtml" %>
    Même si cela marche sur les autres serveurs web, est-ce ce sont les bons modes au niveau du autoflush ou buffer : est-ce que quelque peut m'expliquer clairement à quoi servent ces modes?

  8. #8
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Problème résolu : méthode hasAccess
    Citation Envoyé par assistibm
    Je voudrais préciser que dans le frame qui devient blanc, le code jsp correspondant contient les clauses suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%@ page language="java" buffer="4096kb" autoFlush="false" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
    <%@ taglib uri="/WEB-INF/b2e-html.tld" prefix="b2ehtml" %>
    Même si cela marche sur les autres serveurs web, est-ce ce sont les bons modes au niveau du autoflush ou buffer : est-ce que quelque peut m'expliquer clairement à quoi servent ces modes?
    J'ai trouvé la solution au problème : quand on utilise struts et sa méthode de confidentialité hasAccess(), pour peu qu'il y ait un problème de positionnement de cette méthode, struts renvoie par défaut une page à blanc. Or là dans mon application pour le user connecté son rôle n'était pas bien attribué donc j'ai rajouté dans struts-config.xml un forward error avec une page web indiquant : 'Vous n'avez pas le droit d'utiliser cette page'.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2014, 14h20
  2. [DeskI V5-V6] Page blanche sur tableau multi pages
    Par alsips dans le forum Débuter
    Réponses: 1
    Dernier message: 25/07/2006, 15h12
  3. [XSL-FO] Problème de pages blanches entre deux page-sequence
    Par slopera dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 28/03/2006, 16h10
  4. CR10 : insérer une page blanche sur les ruptures pages paire
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 07/09/2005, 18h09
  5. Problème d'E.S. sur fichier avec open
    Par Bubonik software dans le forum C
    Réponses: 6
    Dernier message: 04/02/2004, 19h42

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