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 :

Redirection JSF en utilisant un bean


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut Redirection JSF en utilisant un bean
    J'ai une page redirect.jsp et je voudrais que celle-ci execute un bean...

    Pour l'instant j'ai fait un <commandLink> auquel je passe le bean ds le champ action...
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:commandLink id="testing" action="#{monBean.monAction}" immediate="true">
    <h:outputText value="test!"/>
    </h:commandLink>

    Le pb c'est que je veux que cette action soit effectuée automatiquement sans que je clique (redirection auto).

    Les balises meta ne permettent pas ca donc je n'ai pas trop d'idée..., j'ai essayé ca (et toutes les variantes possibles)

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <meta http-equiv="refresh" 
    content="0;url=#{SseRdfsMetaDataBean.processActionListStatementBySession}"/>


    Est-ce que y'a qqn qu'aurait une idée ?

    Merci d'avance...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    Peut etre un debut de piste. Ton commandLink crée du javascript pour appeler le bean. Regarde ce javascript et execute le à l'ouverture de ta page.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut A voir...
    Merci !

    Bonne piste, astucieux !,j'ai testé mais pour l'instant ca marche pas !

    C'est aussi dû à la complexité de mon système de merde !

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut C'est chaud !
    JSF génère un <a href> et une form pour traduire le commandLink...

    Sauf que la form contient des input dont la valeur est incomprehensible (non reproduisible a la main!)

    donc je suis au point mort !

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    il me semblait avoir deja essayé de répondre à une question similaire :
    http://www.developpez.net/forums/sho...d.php?t=219426

    a la fin de la discussion je donne un petit bout de code qui devrais pour faire ce que tu demande. Par contre je ne l ai personellement jamais testé et la personne qui à posé la question n'as pas repondu pour savoir si cela marche ou non.

    Edit : dans le code 'editUser' est le nom de ma form à toi de le changer avec le nom de ta propre form

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut Doutes...
    Pour l'instant ca marche pas, en fait ca ne lance pas l'action...

    Le javascript marche bien, il lance bien l'action de la form si c'est un lien simple (http://.....) mais pas si je met mon bean.

    Voila ce qui est généré par JSF avec le commandLink: (BON COURAGE !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="clear_linkDummyForm();document.forms['linkDummyForm'].elements['linkDummyForm:_link_hidden_'].value='testing';if(document.forms['linkDummyForm'].onsubmit){if(document.forms['linkDummyForm'].onsubmit()) document.forms['linkDummyForm'].submit();}else{document.forms['linkDummyForm'].submit();}return false;" id="testing">test!</a>
    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
    <form id="linkDummyForm" 
    name="linkDummyForm" 
    style="display:inline" 
    method="post" 
    action="http://172.18.3.21:8080/portal/tool/472743f0-3a42-4d5b-00bd-8cd521d18e09/uri/redirect">
    <input type="hidden" name="jsf_tree_64" id="jsf_tree_64" value="H4sIAAAAAAAAAK2QsUoDQRCGx5AQBEHUwtZCEEX2tE4ZUBNOAhoFueJY9zaXTe521905PRs7ex/AJ5A8gU9gZ+tL2Fq7S2KSQtHCZmCG/5/vnxm9Q80aOFQmJVRT1uckv+1Rxq1rdSYYRaEk6RrOT9EUDAvDj6mkKTebs2FT5VpJLvHgYv3tsf3xWoFqBIsx64ssMW4O7Sh0iGCMCCaIYA4R/BXRCGE5Zl9dM6PWIqyGA3pNg4zKNHB6IVMnW5rJWskV3EElgnrsyegsa9Gcp3M54AwbpS7MJOp/fKPxPNp6Wbl/eKoAlBoAFqyPAYWvtZ97jbDts5VkzJ6eQfqYZ+TIlU6BusAuLxGhGotk33l2fvG4XDmVSSjkEKGO3KL7k/Pt+nMtHVKhjfJ/IAPbm1twLvjN9KYxbs/ZNr7HnbW8/kQp1PoTOM3aSl4CAAA=" />
    <input type="hidden" name="jsf_state_64" id="jsf_state_64" value="H4sIAAAAAAAAAI1Tz2sTQRR+2SSm1hzS1iqCQrWIiLCp4skebH5YurCh0MQf6CGd7k6TbTe748xLMlFa9ODdi4JQ8Q/Qu+JNFDwpqHjxD/CkntWLzmxqEtv640GGt28y833ve988+gzJJoexK/YKaRHTJ0HNnF9aoQ5O33596UFGHPcNAMkAIN68CuugI9HLUqwbgkMmuqCJnm/aoUN8uv51ZHFj6tsnAxIWDNWJqDuhS21IOWEzQN5BGI1Asxo0W0buBbVpG4b0Z5PUqMZIqr+3CPdIgNGnZD9UIACCQQNdSiEMz1VKdjWfK1sFhANZIeiCuyyyTe5lOXU9rpoxV0REcqxPMsc56dieQHnz7aF7L8n9OMQsSAjvGo3ajbUTeu21Gt8hU+CJqudOMYTxkNdMQVaJx3io9TMveLStMUf6mHNKhBJhydSHZ8/3Lb6JgzELw35I3FniYMgt2I11TkU99F3Jzs5EGOn2kFoz6mcgnNJ3SXOZOFSYbbpEGDPPW4WwwcKABlghNXN2fqF0bqFamLPsYtUqlrczKFN8Wrx15+6Tx6fjerbttAbYhIuh6ooKVMOQCEn00KcI6XJX1IlKGPqyO3Itwp6/CnWwlyX7kulkvxIsM9iK7QWr0UZ06+j21nV5b7Q5vpWunsBJxTW9HHKHWq4VuFT2uo4cnVesKQleTfAb7ze+fzEgdhmSLeI31ahjMnLGiUE6zi9BzWoOkTh16paRIL3IleCUFx9+nFl7N//CAMOGXVXHJ0IgjAy4uaBLysxj1XZ0pHu8+7B+9/3mY5OsxeGY9hBhGs9sdLpUqG+WKNZDN+8FrhqK1WA+9EOynrLKHmcmr28OSp0hRYIkr9o2lSPVVSLnoBcG2vIRm4bqL98pqw1VXWP/iP8Yd3KnF6KTI1vHXaES2R9GHdPlSb0c1UbTHlR2PNxlIaX8CWYjEdKyBAAA" />
    <input type="hidden" name="jsf_viewid" id="jsf_viewid" value="/sseRdfs/uri/redirect.jsp" />
    <input type="hidden" name="linkDummyForm:_link_hidden_" />
    <script type="text/javascript"><!--
    function clear_linkDummyForm() {
      var f = document.forms['linkDummyForm'];
      f.elements['linkDummyForm:_link_hidden_'].value='';
      f.target='';
    }
    clear_linkDummyForm();
    //--></script></form>

    Le pb c'est les champs jsf_tree_64 et jsf_state_64, je ne sais pas du tout à quoi ils correspondent !

    A aucun moment je vois le bean apparaitre

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut Voici la reponse ...
    Je poste une réponse si ca interesse qqn !

    * Tout d'abord mettre le commandLink

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:commandLink type="submit" id="testing" action="#{monBean.monAction}">
    <h:outputText value="mon_texte"/>
    </h:commandLink>
    * JSF va généré un <a href="..." onclick="..."> et une form, le <a href> aura le meme nom que le commandLink

    * Enfin, faire un peu de JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script type="text/javascript" language="JavaScript">
    function doLink() {
    	var myLink = document.getElementById('testing');
    	myLink.onclick()
    	}
    window.onload = doLink()	
    </script>
    On appelle tout simplement l'action onclick() du lien généré... tout bête!
    Attention : mettre le code JavaScript le plus bas possible dans la page JSF car moi j'ai eu des pb au début....

    Et ca marche !

    Merci Shivan

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 63
    Par défaut
    Salut
    Bon je suis nouveau dans le monde java alors pas de reproche les mecs :p
    J'ai un projet et j'ai choisie de travailler avec les JSF car je me retrouve bien vu que c'est un concurent des WebForms de .Net que je connais bien.
    Bon mon problème est que je veux insérer du code javascript dans ma page sachant que j'utilise NetBeans5.5 couplé avec NetBeans visual Web. J'ai essayé de mettre le code javascript dans la jsp mais ça fonctionne pas, il me sors une page blanche. Comment faire les gars?

    Cordialement

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut Je comprend pas tout !
    je ne comprend pas trop : si tu ne mets pas de code, on peut rien pour toi, nous ne sommes que de pauvres informaticiens

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/09/2006, 10h49
  2. Débutante jsp, utilisation de bean
    Par zuzuu dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 09h18
  3. [JSF] Communication entre les beans
    Par Arnaud Giuliani dans le forum JSF
    Réponses: 1
    Dernier message: 01/06/2006, 23h07
  4. [JSF] modification d'un bean
    Par Shivan dans le forum JSF
    Réponses: 1
    Dernier message: 21/03/2006, 15h02
  5. utiliser un bean dans le tags html:link
    Par clement42 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/07/2005, 18h36

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