我在 Google AppEngine 中使用 Scala、StringTemplate 很好地设置了我的环境。我在遍历地图并将其显示在模板中时遇到问题。当我将一个简单的字符串列表分配给模板时,它可以使用:
在 Scala Servlet 中:
var photos = List[String]()
//... get photo url and title ...
photos = photo_url :: photos
template.setAttribute("photos", photos: _*)
在模板中:
$photos: { photo|
<div><img src="$photo$_s.jpg"></div>
}$
以上工作。但是,任何使用 url 和标题创建地图并分配给模板的尝试都会给我一个错误。这是我的尝试,但不起作用:
在 Scala Servlet 中:
var photos = List[Map[String,String]]()
//... get photo url and title ...
photos = Map("url" -> url, "title" -> title) :: photos
template.setAttribute("photos", photos: _*)
在模板中:
$photos: { photo|
<div><img src="$photo.url$_s.jpg" title="$photo.title$"></div>
}$
这给了我以下错误
Class scala.collection.immutable.Map$Map2 has no such attribute: title in template context
想法/想法?