La fonction NewFlash()
de Beego fournit un mécanisme simple pour passer des données temporaires entre différentes pages au sein d'une application Web. Il exploite le mécanisme de session pour stocker les données, ce qui le rend accessible uniquement pour la prochaine demande. Les données sont généralement utilisées pour afficher des messages brèves à l'utilisateur, tels que le succès ou les messages d'erreur après les soumissions de formulaire. Le processus consiste à définir le message flash dans un contrôleur, puis à la récupérer et à l'affichage dans le contrôleur suivant. Cela évite la nécessité de méthodes de passage de données plus complexes, telles que les paramètres d'URL ou les champs de formulaire cachés, pour les messages temporaires. Les données sont automatiquement supprimées de la session après son accession, garantissant sa nature temporaire.
pour afficher un message de réussite après une soumission de formulaire à l'aide de la fonction de Beego NewFlash()
, suivez ces étapes:
this.Data["flash"] = this.NewFlash()
pour créer un nouvel objet Flash Message. Ensuite, ajoutez le message de réussite à cet objet: this.Data["flash"].Success("Your form has been submitted successfully!")
. Cela stocke le message dans la session de l'utilisateur. Notez que Success()
est une méthode fournie par l'objet Flash Message pour une meilleure catégorisation de messages; Cela n'affecte pas directement le stockage. Vous pouvez également utiliser this.Flash.Success("Your form has been submitted successfully!")
directement. this.Redirect(url, http.StatusFound)
pour la redirection. this.GetFlash()
ou this.Flash.Get("success")
. La méthode GetFlash()
renvoie tous les messages flash tandis que this.Flash.Get("success")
renvoie spécifiquement le message de réussite. Cela renverra le message de réussite stocké plus tôt. S'il n'y a pas de message flash disponible, il renverra une chaîne vide. Enfin, affichez le message à l'aide d'un modèle. Par exemple, dans votre modèle, vous pourriez avoir quelque chose comme: {{if .Flash.Data.Success}}{{.Flash.Data.Success}}{{end}}
. Bien que NewFlash()
soit pratique pour les messages courts, il a des limites:
NewFlash()
parce que les données sont stockées dans la session, qui peuvent être vulnérables si elles ne sont pas correctement sécurisées. après qu'il soit récupéré. Ceci est intentionnel pour sa nature temporaire, mais cela signifie que vous ne pouvez pas accéder au même message plusieurs fois. NewFlash()
et NewFlash()
pour ajouter des messages avec une signification sémantique. Vous pouvez ensuite récupérer ces messages sélectivement dans votre modèle en fonction du type de message. NewFlash()
Success()
Par exemple: Error()
Warning()
this.Flash.Success("Operation successful!")
this.Flash.Error("An error occurred.")
this.Flash.Warning("This action may have unintended consequences.")
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!