Salve, ho dei problemi con Lift e riscrittura degli 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 che venga effettuata una chiamata al 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 ottengo un errore:
L'URL / utente / brian richiesti non sono stati trovati su questo server
Inoltre, se inserisco manualmente l'URL di viewUser: http://localhost:8080/user/brian Ho fatto lo stesso errore.
Non ho idee su questo, ne ho trovato uno simile errore che avviene attraverso il sistema SiteMap.
Ho provato a farlo con un progetto lift-archetype-blank pulito, con l'aggiunta di viewUser.html e l'aggiunta del singolo blocco di codice di riscrittura.
risposte:
2 per risposta № 1Assicurati di aver aggiunto "viewUser" alla mappa del sito. Senza farlo Lift non sa dove trovare la pagina.