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

NetBeans Java Discussion :

[Visual Web] focus sur une page JSP (anchor) [FAQ]


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Par défaut focus sur une page JSP (anchor)
    Bonjour,

    Dans un projet, je souhaiterais pouvoir definir le positionnement ( ou focus ) d'une page, lors de son chargement.
    Concrètement, j'ai un composant dans une page, dont l'action provoque le rechargement de la meme page, mais celle-ci est repositionnée en haut de page, alors que je voudrais qu'elle reste plus ou moins centrée sur mon composant.

    J'ai essayé d'utiliser le composant "anchor" dans la palette des composants du VWP.
    Puis j'ai defini une regle de navigation dans le fichier Navigation.xml : (Celle-ci est appelee a la fin du traitement de mon action par un return "caseanchor"; )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        <navigation-rule>        
            <from-view-id>/Mapage.jsp</from-view-id>
            <navigation-case>
                <from-outcome>caseanchor</from-outcome>
                <to-view-id>/Mapage.jsp#anchor1</to-view-id>
            </navigation-case>
        </navigation-rule>
    Le resultat est que la page n'est pas affichée (mais a la place la page d'erreur "standard" de sun java system application server.
    Il n'y a pas non plus de message d'erreur dans le log du serveur.

    Quelqu'un a-t-il une solution??

  2. #2
    Membre éprouvé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Par défaut
    Bonjour,

    J'ai trouvé ceci dans les archives de la mailing list nbusers:

    There is a DOM property, window.location, that you can set to name of an anchor. Doing this will cause the page to scroll so that the anchor is visible in the window. You need the javascript to be executed when the page is first loaded. An easy way to do this is to make it the value of the page component's "onLoad" property, e.g.

    onLoad="window.location='#xxx'"

    where "xxx" is the name of the anchor. You can of course set this property dynamically, such as in the action or valueChange event handler that are using to process events from the dropdown list.
    Peux tu nous faire un feedback sur cette solution?

    Valère

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Par défaut
    Mon feedback...

    Ca marche bien effectivement, mais le parametre onLoad a manipuler est celui du body et non de la page en elle meme Un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public String button1_action() {
            // TODO: Process the action. Return value is a navigation
            // case name where null will return to the same page.
            getBody1().setOnLoad("window.location='#anchor1'");         
            return null;
        }
    (le anchor1 en question est de type <webuijsf:anchor> disponible dans la palette de VWP.)

    Bien evidemment, si le parametre n'est pas changé, tous les reloads sur la meme page s'ouvriront avec le focus sur le anchor1.

    Sinon vous pouvez egalement definir le onLoad directement dans la page JSP, dans la balise body.

    Un défaut tout de même : le focus ne "marche pas" lorsque le composant qui a provoqué le reload de la page n'est pas inclus dans la page : la vue se "débrouille" toujours pour que le composant soit inclus quitte à ne pas faire apparaitre le point ou est placé l'anchor... mysterieux!! (si je trouve une solution ou explication je la posterai

  4. #4
    Membre éprouvé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Par défaut
    Merci pour ce feedback très instructif! Je tagge la discussion avec [FAQ] pour ne pas la perdre de vue!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/08/2008, 16h07
  2. Autocompletion d'un formulaire sur une page JSP
    Par topmas dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 14/05/2008, 18h38
  3. Authentification sur une page jsp
    Par FabienN dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 07/03/2008, 09h53
  4. afficher resultat d'une requete sur une page jsp
    Par vasco_di_gama dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 23/07/2007, 14h56
  5. Comment avoir FOCUS sur une page
    Par clucibelle dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2007, 10h05

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