Lift RewriteResponse ne trouvant pas une URL valide
-
10-07-2019 - |
Question
Bonjour, je rencontre des problèmes avec Lift et la réécriture des URL. J'ai écrit une simple règle de réécriture:
LiftRules.rewrite.append {
case RewriteRequest(
ParsePath(List("user", userID), _, _, _), _, _) => {
println(userID)
RewriteResponse(List("viewUser"), Map("userID" -> urlDecode(userID)))
}
}
Ainsi, lorsque j'entre http: // localhost: 8080 / user / brian j'attends un appel à apporter au fichier viewUser.html que j'ai placé dans le répertoire webroot. Le balisage de viewUser.html est très simple:
<lift:surround with="default" at="content">
<p>ViewUser</p>
</lift:surround>
Mais au lieu de voir viewUser, je reçois une erreur:
L'URL demandée / utilisateur / brian est introuvable sur ce serveur
De plus, si j'entre l'URL de viewUser à la main: http: // localhost: 8080 / user / brian Je reçois la même erreur.
Je suis à court d'idées sur ce problème. J'ai trouvé un erreur similaire. via le système SiteMap.
J'ai essayé cela avec un projet lift-archetype-blank parfaitement vérifié, en ajoutant le fichier viewUser.html et en ajoutant le bloc de code de réécriture.
La solution
Assurez-vous d'avoir ajouté " viewUser " sur le plan du site. Sans cela, Lift ne sait pas où trouver la page.