Projets
Pages enfant
  • 3.13.2 Déchiffrer les URLs directes pour positionner l'application dans un état donné

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Déchiffrer les URLs directes pour positionner l'application dans un état donné

Du point de vue du programmeur, l'appréhension d'un lien direct consiste à :
  # Décoder les paramètres de l'URL,
  # Positionner les variables d'état (les contrôleurs de l'application) dans un état donné,
  # Envoyer sur la page _JSF_ voulue.

Comment ça marche

   1.  Décrire l'url grâce à l'objet UrlPatternDescriptor dans le fichier properties/deeplinking/deeplinking.xml.
Par exemple pour une url : http://monurl/stylsheets/welcomes.faces?args=validation=true&login=cleprous

Bloc de code

<bean id="validateSubscription" class="org.esupportail.commons.jsf.UrlPatternDescriptor">
  <property name="params">
    <list>
      <value>validation</value>
      <value>login</value>
    </list>
  </property>
  <property name="actionBinding" >
     <bean class="org.esupportail.commons.jsf.ActionBinding">
        <property name="action" value="inscriptionController.urlDecrypt"/>
        <property name="args">
           <list>
             <value>java.lang.Boolean</value>
             <value>java.lang.String</value>
           </list>
        </property>
      </bean>
  </property>
</bean>

    * La propriété params définis les paramètres de l'url. L'ordre de paramètre doit être identique à celui dans l'url.
    * La bean actionBinding permet de définir l'action qui va être exécutée. Dans l'exemple la méthode appelée est décrite ci-dessous:

Bloc de code

Dans le bean inscriptionController, la méthode :


public String urlDecrypt(Boolean validation, String login) {

 ....

return "go_validation_page"; //cette chaîne décrite dans la navigation-rules et permet de rediriger vers une page


}


* La propriété viewID permet de préciser une chaine de caractère qui va être utilisée dans la redirection.

A faire
Remarque

Cette propriété est prioritaire. Cela signifie que si elle est renseignée, on utilise cette chaîne pour faire la redirection sinon on utilise la chaîne renvoyée par la méthode décrite dans l'ActionBinding

Avertissement
title