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 :

Mise en page formulaire du login


Sujet :

JSF Java

  1. #1
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut Mise en page formulaire du login
    Bonjour,

    Je me lance dans javaee / jsf et j'ai une question de mise en page.
    Dans l'image transmise, j'ai 2 points obscurs :

    1. Pourquoi y'a-t-il un espace entre mes composants et le bord du panelGrid, sur la droite ?
    2. Comment est-ce que je peux centrer le bouton "Connexion" ?

    Voici ma 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:p="http://primefaces.org/ui"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets">
    <f:view locale="#{changeLocale.locale}">
    	<h:head>
    		<title>Connexion</title>
    		<h:outputStylesheet library="css" name="styles.css" />
    	</h:head>
    	<body>
    		<h:form id="connexionForm">
    			<p:growl id="growl" life="2000" />
    			<p:panelGrid columns="1" style="margin-bottom:10px" layout="grid">
    				<f:facet name="header">
    					<h:outputText class="titreLogin" value="Connexion" />
    				</f:facet>
     
    				<h:outputText value="Nom d'utilisateur :" />
    				<p:inputText id="login" value="#{loginForm.login}" />
     
    				<h:outputText value="Mot de passe :" />
    				<p:password id="password" value="#{loginForm.password}" />
     
    				<p:panelGrid columns="2" style="margin-bottom:15px" styleClass="panelSansBordure">
    					<p:selectBooleanCheckbox value="#{loginForm.isRemembered}" />
    					<h:outputText value="Se souvenir de moi" />
    				</p:panelGrid>
    				<p:commandButton value="Connexion" id="doLogin" update="growl" actionListener="loginForm.anthenticate}" styleClass="ui-priority-primary" />
    			</p:panelGrid>
     
    			<p:commandLink id="forgetLogin" update="growl"
    				actionListener="#{loginForm.forgetLoginData}">
    				<h:outputText class="lien" value="Login ou mon mot de passe oublié" />
    			</p:commandLink>
    		</h:form>
    	</body>
    </f:view>
    </html>
    Et la feuille de style :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    /* 
    Document   : style
    Created on : 30.03.2015
    Author     : auth
    Description:
    Purpose of the stylesheet follows.
    */
     
    /* Formulaires */
    #formulaire {
       position:absolute;
       top:50%;
       left:50%;
       width:1400px;
       height:1000px;
       margin-left:-700px; /* -largeur/2 */
       margin-top:-500px; /* -hauteur/2 */
       background:red;
    }
     
    #connexionForm {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	width: 350px;
    	height: 200px;
    	margin-left: -175px; /* -largeur/2 */
    	margin-top: -100px; /* -hauteur/2 */
    	/*background: red;*/
    	font-color: #82b4ec;
    }
     
    /* Panel */
    .panelSansBordure tr, .panelSansBordure td {
    	border: none;
    }
     
    /* Tableau */
    .columnCenter {
    	text-align: center;
    }
     
    .titreLogin {
    	font-size: 25px;
    	font-weight: bold;
    	text-align: right;
    }
     
    .lien {
    	 font-size: 14px;
    	 text-decoration: none;
    }
    Qqun a-t-il réponse à mes questions ?
    Merci d'avance pour votre aide
    Nom : Login.png
Affichages : 983
Taille : 17,6 Ko

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    1) Ta classe de style précise que le formulaire fait 350px de large

    2) As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:panelGroup style="text-align:center">
       <h:commandButton ... />
    </h:panelGroup>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Merci pour ta réponse :-)

    1. Ha oui et en définissant l'attribut size, j'ai pu mettre la même taille à mes inputText

    2. Oui mais ça ne marche pas non plus

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Alors, tu as le choix entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <center>
        <p:commandLink .../>
    </center>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div style="text-align:center">
        <p:commandLink .../>
    </div>
    (j'ai testé les 2 ce coup-ci )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Ca déplace bien le bouton mais il n'est pas centré par rapport à mon panel, ni même à l'écran.
    Pourtant il est censé être centré sur l'écran, non ?
    Nom : Login.png
Affichages : 919
Taille : 11,1 Ko

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il est centré par rapport à son conteneur, donc ici, le <form>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Ok, mais y'a encore un petit truc que je ne comprends pas...
    Pour résoudre le problème j'ai fais ceci :

    - ajouter la balise DIV pour le formulaire complet
    - ajouter des panelGrid autour des textes (nom d'utilisateur, mot de passe) pour qu'il ne soit pas centré (je ne comprend pas pourquoi ça marche comme ça !!, une idée ?)

    Ce qui m'étonne, c'est que le formulaire ne change pas de place, que je mette le DIV à son niveau ou juste au niveau du bouton. Par contre le bouton change de place, pourquoi ?

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:p="http://primefaces.org/ui"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:ui="http://java.sun.com/jsf/facelets">
    <f:view locale="#{changeLocale.locale}">
    	<h:head>
    		<title>Connexion</title>
    		<h:outputStylesheet library="css" name="styles.css" />
    	</h:head>
    	<body>
    		<h:form id="connexionForm">
    			<p:growl id="growl" life="2000" />
    			<div style="text-align: center">
    				<p:panelGrid columns="1" style="margin-bottom:15px" layout="grid">
    					<f:facet name="header">
    						<h:outputText class="titreLogin" value="Connexion" />
    					</f:facet>
    					<p:panelGrid columns="2" styleClass="panelSansBordure">						
                                           <h:outputText value="Nom d'utilisateur :" />
    					</p:panelGrid>					
                                           <p:inputText id="login" value="#{connexionForm.login}" size="25" />
    
    					<p:panelGrid columns="2" styleClass="panelSansBordure">						
                                            <h:outputText value="Mot de passe :" />
    					</p:panelGrid>					
                                            <p:password id="password" value="#{connexionForm.password}" size="25" />
    
    					<p:panelGrid columns="2" style="margin-bottom:15px"
    						styleClass="panelSansBordure">
    						<p:selectBooleanCheckbox value="#{connexionForm.isRemembered}" />
    						<h:outputText value="Se souvenir de moi" />
    					</p:panelGrid>
    					<p:commandButton value="Connexion" id="doLogin" update="growl"
    						actionListener="connexionForm.anthenticate}"
    						styleClass="ui-icon-login" />
    				</p:panelGrid>
    			</div>			<p:commandLink id="forgetLogin" update="growl"
    				actionListener="#{connexionForm.forgetLoginData}">
    				<h:outputText class="lien" value="Login ou mot de passe oublié" />
    			</p:commandLink>
    		</h:form>
    	</body>
    </f:view>
    </html>
    Nom : Login.png
Affichages : 850
Taille : 10,2 Ko

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Comme tu n'as pas défini de largeur pour ton formulaire, il prend la largeur de son contenu; le centrage n'a pas d'effet du coup.
    Si tu veux centrer dans la page, tu peux mettre un attribut style="width:100%" au niveau de ton formulaire et ça devrait fonctionner.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Très bien

    Merci beaucoup pour ton aide

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

Discussions similaires

  1. Mise en page formulaire
    Par Vil'Coyote dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 29/04/2009, 10h16
  2. Question sur mise en page formulaire
    Par pcayman dans le forum IHM
    Réponses: 1
    Dernier message: 14/08/2007, 11h53
  3. [Firefox] Problème mise en page formulaire
    Par K-Kaï dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 20/06/2006, 09h16
  4. mise en page formulaire
    Par PAUL87 dans le forum Access
    Réponses: 1
    Dernier message: 23/09/2005, 09h32

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