Defining Routes
La définition des routes est essentielle pour mapper les URL à des composants spécifiques. Cela vous permet de contrôler comment différentes parties de votre interface utilisateur sont rendues en fonction de la structure de l'URL. Le framework utilise l'annotation @Route
pour rendre ce processus déclaratif et simple, réduisant le besoin de configuration manuelle.
Les routes peuvent être enregistrées de manière statique en utilisant l'annotation @Route
ou dynamiquement via l'API RouteRegistry
. Pour plus d'informations, consultez la documentation sur l'inscription des routes.
Définir une route avec @Route
L'annotation @Route
est utilisée pour lier un chemin URL à un composant spécifique. Cela permet au composant d'être rendu chaque fois que l'application navigue vers cette URL. Voici un exemple simple :
@Route(value = "dashboard")
public class DashboardView extends Composite<Div> {
// Logique du composant ici
}
Dans cet exemple :
- Le composant
DashboardView
est lié à l'URL/dashboard
. - Lorsque l'utilisateur navigue vers
/dashboard
, leDashboardView
sera rendu dynamiquement par le framework.
Le paramètre value
Le paramètre value
dans l'annotation @Route
définit le chemin URL. Cela peut être un chemin statique comme "dashboard"
ou plus dynamique, permettant un routage flexible.
@Route(value = "user/:id")
public class UserView extends Composite<Div> {
// Logique du composant ici
}
Dans ce cas, naviguer vers /user/123
affichera le UserView
.
Le user/:id
est connu sous le nom de modèle de route. Le routeur peut gérer à la fois des modèles simples, qui correspondent à un seul segment statique, et des modèles complexes, qui peuvent correspondre à plusieurs segments statiques, requis et optionnels. Pour plus d'informations sur la configuration des modèles, consultez le dossier approfondi sur les modèles de route.
Définir des alias de route
Dans certains cas, vous voudrez peut-être permettre à plusieurs URL de pointer vers le même composant. Par exemple, vous pourriez vouloir que les utilisateurs puissent accéder à leur profil via /profile
ou /user/me
. webforJ permet cela grâce à l'annotation @RouteAlias
, vous permettant de définir plusieurs alias pour une seule route.
Voici un exemple dans lequel le composant est accessible à la fois via /profile
et /user/me
:
@Route(value = "profile")
@RouteAlias("user/me")
public class UserProfileView extends Composite<Div> {
// Logique du composant ici
}
Définir des alias de route augmente la flexibilité de votre conception de navigation, permettant aux utilisateurs d'accéder au même contenu via différentes URL.