Using Scala and StringTemplate, how do I loop through a Map
Posted
by Marcus Kazmierczak
on Stack Overflow
See other posts from Stack Overflow
or by Marcus Kazmierczak
Published on 2010-06-11T14:18:24Z
Indexed on
2010/06/11
15:03 UTC
Read the original article
Hit count: 297
I have my environment setup nicely using Scala, StringTempalte within the Google AppEngine. I am having trouble looping through a Map and getting it to display in the template. When I assign a simple List of just Strings to the template it works using:
In Scala Servlet:
var photos = List[String]()
//... get photo url and title ...
photos = photo_url :: photos
template.setAttribute("photos", photos: _*)
In Template:
$photos: { photo|
<div><img src="$photo$_s.jpg"></div>
}$
The above works. However, any attempt of creating a Map using url and title and assigning to the template gives me an error. Here is my attempt, which does not work:
In Scala Servlet:
var photos = List[Map[String,String]]()
//... get photo url and title ...
photos = Map("url" -> url, "title" -> title) :: photos
template.setAttribute("photos", photos: _*)
In Template:
$photos: { photo|
<div><img src="$photo.url$_s.jpg" title="$photo.title$"></div>
}$
This gives me the following error
Class scala.collection.immutable.Map$Map2 has no such attribute: title in template context
Thoughts / Ideas ?
© Stack Overflow or respective owner