2013-12-03 3 views
0

Я пытаюсь создать карту сайта с Play Framework. Для этого мне нужен цикл while, который работает до тех пор, пока не будет достигнуто значение Long. Петля на самом деле работает, но HTML внутри не печатается Altough на println() работает отлично (выход выводится на консоль)Почему этот html не печатается scala?

@{ 
    var i = 0L 
    var amountOfSitemaps = 10L; 
    while(i < amountOfSitemaps) { 
     <url> 
      <loc>http://www.example.com/</loc> 
      <lastmod>2005-01-01</lastmod> 
      <changefreq>monthly</changefreq> 
      <priority>0.8</priority> 
     </url> 
     println("why is the stuff above not printed?!") 
     i+=1 
    }} 

Спасибо за любые предложения!

+1

och совершенно плохой подход ... есть у вас есть список сайтов, переданных с контроллера? – biesior

+0

@biesior да, но с этим кодом я пытаюсь создать «индекс Sitemap» (http://en.wikipedia.org/wiki/Sitemap_index). Это основано на «значении» всех URL-адресов в базе данных, что является значением «Long». Я мог бы наброситься на «инт», но ... урм ... Я упрямый :) Так есть способ заставить код выше работать? – Crayl

ответ

1

Ближайшее решение для образца:

@for(item <- 0 until 10) { 
    <url> 
     <loc>http://www.example.com/</loc> 
     <lastmod>2005-01-01</lastmod> 
     <changefreq>monthly</changefreq> 
     <priority>0.8</priority> 
    </url> 
} 

В реальной карты сайта было бы что-то вроде:

@(listOfSites: List[Site]) 

@for(site <- listOfSites) { 
    <url> 
     <loc>@site.url</loc> 
     <lastmod>@site.lastMod</lastmod> 
     <changefreq>@site.changeFreq</changefreq> 
     <priority>@site.priority</priority> 
    </url> 
} 

Предполагая, что вы пройти проверку

разницу между @for(item <- 0 until 10) и @for(item <- 0 to 10)

+0

Проблема была как-то вызвана циклом while внутри части @ {}. Как-то у шаблонизатора есть проблема с двойными фигурными скобками. Я не знаю .. Я совершенно новый для scala. В любом случае .. с циклом for у меня нет этой дополнительной пары фигурных скобок, а также работает со значением «Long». Большое спасибо! – Crayl

Смежные вопросы