J'ai ma configuration d'environnement bien en utilisant Scala, StringTemplate dans Google App Engine. J'ai du mal à faire défiler une carte et à l'afficher dans le modèle. Quand je Confiez une mission simple Liste des chaînes seulement au modèle, il fonctionne à l'aide:Utilisation de Scala et StringTemplate, comment faire une boucle dans une carte
Scala Servlet:
var photos = List[String]()
//... get photo url and title ...
photos = photo_url :: photos
template.setAttribute("photos", photos: _*)
Dans Modèle:
$photos: { photo|
<div><img src="$photo$_s.jpg"></div>
}$
Les travaux ci-dessus. Cependant, toute tentative de création d'une carte à l'aide de l'URL et du titre et de l'affectation au modèle me donne une erreur. Voici ma tentative, ce qui ne fonctionne pas:
Scala Servlet:
var photos = List[Map[String,String]]()
//... get photo url and title ...
photos = Map("url" -> url, "title" -> title) :: photos
template.setAttribute("photos", photos: _*)
Dans Modèle:
$photos: { photo|
<div><img src="$photo.url$_s.jpg" title="$photo.title$"></div>
}$
Cela me donne l'erreur suivante
Class scala.collection.immutable.Map$Map2 has no such attribute: title in template context
Pensées/Des idées?
supprimé ma suggestion - je suis juste ici que mon remarquer simple idée de créer classe 'cas TitleURL (url: String, titre: String)' et l'utiliser à la place de la carte ne fonctionne pas. Selon Marcus, il génère une erreur comme "Classe FlickrTestServlet $ TitleURL $ 2 n'a pas un tel attribut: titre dans le contexte du modèle [templates/flickr_template if (photos) _subtemplate anonyme]". –