est-il possible d'obtenir l'URL de la page actuelle dans FTL? P>
6 Réponses :
Autant que je puisse dire, Freemarker est strictement un moteur de modèles - il produit simplement du texte et n'a aucun moyen de savoir où ce texte apparaîtra. Si vous souhaitez inclure l'URL de la page actuelle, vous devez soit transmettre ces données dans le modèle à partir du code Java hôte (recommandé) ou vous devez le détecter côté client d'utilisation à l'aide de JavaScript. P>
Tout comme un supplément: Si vous utilisez le Freemarkersservlet, une «demande» de hachage est transmise à chaque modèle qui doit avoir une clé de clé en fonction de la documentation ici . p>
Oui, c'est possible. Assurez-vous d'ajouter des "exposexpringmacrohelpers" pour votre résolution de vue dans votre contexte de l'application. puis appelez $ {springmacrorequestcontext.getrequesturi ()} dans votre modèle p>
Je suis en cours d'exécution Spring 3.2.x et ExposesPringmacrohelPers par défaut sur True.
Selon Documentation de printemps P>
Définissez s'il faut exposer un requileContext pour une utilisation par macro de printemps Bibliothèque, sous le nom "SpringmacRoreQuestContext". La valeur par défaut est "vrai". p> blockQuote>
sur ma vue, je peux alors faire quelque chose comme p>
p>
<#if springMacroRequestContext.requestUri?contains("/login")>
Si vous utilisez le ressort 4, vous pouvez configurer à l'aide de Freemarkerautoconfiguration
demandeuri: c'est Uri, pas l'URL (posée par OP)
Utilisez simplement cette ligne:
<#assign url = http.request.url /> ${url}
baseURL + ${currentSiteName}${state.currentURI}