Lift RewriteResponse non trova un URL valido
-
10-07-2019 - |
Domanda
Ciao, ho qualche problema con la riscrittura di Lift e URL. Ho scritto una semplice regola di riscrittura:
LiftRules.rewrite.append {
case RewriteRequest(
ParsePath(List("user", userID), _, _, _), _, _) => {
println(userID)
RewriteResponse(List("viewUser"), Map("userID" -> urlDecode(userID)))
}
}
Quindi quando entro http: // localhost: 8080 / user / brian mi aspetto una chiamata da creare nel file viewUser.html che ho inserito nella directory webroot. Il markup di viewUser.html è molto semplice:
<lift:surround with="default" at="content">
<p>ViewUser</p>
</lift:surround>
Ma invece di vedere viewUser ricevo un errore:
L'URL richiesto / utente / brian non è stato trovato su questo server
Inoltre, se inserisco manualmente l'URL di viewUser: http: // localhost: 8080 / user / brian Ottengo lo stesso errore.
Non ho idee su questo, ho trovato un errore simile che avviene attraverso il sistema SiteMap.
L'ho provato con un progetto lift-archetype-blank chiaramente verificato, aggiungendo viewUser.html e aggiungendo il singolo pezzo di codice di riscrittura.
Soluzione
Assicurati di aver aggiunto " viewUser " alla mappa del sito. Senza farlo Lift non sa dove trovare la pagina.