где я могу поместить html-файлы в папку своего веб-приложения для проекта лифта с maven? - PullRequest
2 голосов
/ 17 июня 2010

Я новичок в Lift Framework для Scala. По какой-то причине, index.html находится в каталоге веб-приложения, и когда я запускаю Jetty, http://localhost:8080/ будет очень хорошо указывать на этот файл index.html. Однако, если я помещаю файл login.html в ту же папку, что и index.html, а затем перехожу на http://localhost:8080/login, Подъем не обслуживает файл.

Куда мне нужно поместить файлы, чтобы их зарегистрировать? Я немного растерялся, потому что поведение работает только для index.html и ничего больше.

Вот что происходит, когда я просматриваю источник в Chrome:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> <body>The Requested URL /login was not found on this server</body> </html>  

Ответы [ 2 ]

5 голосов
/ 18 июня 2010

См. Вики-страницу SiteMap: http://liftweb.assembla.com/wiki/show/liftweb/SiteMap

Причиной создания SiteMap является объединение генерации меню и контроля доступа.Вы можете ссылаться на страницы по имени, и если вы перемещаете их в иерархии каталогов, то с помощью SiteMap ссылки всегда будут работать.SiteMap предоставляет механизм безопасного типа для извлечения параметров запроса и информации о пути, так что ваша текущая страница может иметь связанные объекты, а URL-адрес страницы может быть рассчитан путем передачи объекта в Loc.

Может показаться, что SiteMapкак и его небольшой вес, но если вы собираетесь создать сайт, который имеет разные правила контроля доступа для разных страниц, SiteMap предоставляет вам удобный унифицированный механизм как для представления, так и для обеспечения безопасности.

Если вы этого не сделаетене хотите использовать SiteMap, просто удалите строку LiftRules.setSiteMap () из Boot.scala, и Lift будет обслуживать любую страницу.

1 голос
/ 17 июня 2010

Чтобы дать ответ на ваш последний комментарий: если вы используете архетип Lift по умолчанию, чтобы попробовать лифт: используется SiteMap, который предоставляет меню для вашего сайта.Это определено в классе bootstrap.liftweb.Boot.scala.По умолчанию использование карты сайта с меню контролирует страницы, к которым вы можете получить доступ в вашем приложении.Я не уверен, есть ли простой способ отключить эту функцию, поэтому, если кто-то знает, пожалуйста, прокомментируйте.Если вы вообще этого не хотите, вы можете отключить его, удалив val entries = Menu(Loc("Home", List("index"), "Home")) :: Nil и LiftRules.setSiteMap(SiteMap(entries:_*)) в классе Boot.Таким образом, вы можете получить доступ к любой странице, которую вы хотите напрямую, перейдя по URL.

...