2009-08-02 1 views
4

Привет, У меня проблемы с лифтом и переписыванием URL. Я написал простое правило перезаписи:Поднять RewriteResponse не найти действительный адрес

LiftRules.rewrite.append { 
    case RewriteRequest(
    ParsePath(List("user", userID), _, _, _), _, _) => { 
     println(userID) 
     RewriteResponse(List("viewUser"), Map("userID" -> urlDecode(userID))) 
    } 
} 

Так что, когда я вхожу http://localhost:8080/user/brian Я ожидаю, что вызов будет сделан в файл viewUser.html я поместил в каталоге WebRoot. Отметка из viewUser.html очень просто:

<lift:surround with="default" at="content"> 
    <p>ViewUser</p> 
</lift:surround> 

Но вместо того, чтобы видеть viewUser я получаю сообщение об ошибке:

The Requested URL /user/brian was not found on this server

Кроме того, если я ввести адрес viewUser вручную: http://localhost:8080/user/brian я получаю та же ошибка.

У меня нет идей по этому вопросу, я нашел аналогичный error, который происходит через систему SiteMap.

Я пробовал это с помощью чистого проекта лифта-архетипа, добавив viewUser.html и добавив один кусок кода перезаписи.

ответ

2

Убедитесь, что вы добавили «viewUser» на карту сайта. Без этого Lift не знает, где найти страницу.

+0

Отлично, отлично работает сейчас. В настоящий момент я работаю над книгой Exploring Lift, я не видел этого явно упомянутого в главе «Основы подъема»? Ах, так или иначе это работает сейчас;) –