如何在Lift中的模板中输出事物列表?
例如,假设我有 List [User] ,并且要将其输出为表。在Django中,我将使用上下文变量“用户”并在模板中对其进行遍历,如下所示:
//controller
user = User.objects.all()
context = {'users' : users}
return render_to_template('results.html', context}
//view
<table>
{% for user in users %}
<tr><td>{{user.name}}</td>
<td>{{user.email}}</td>
</tr>
{% endfor %}
</table>
感谢您的帮助。
PS:您能否也向我展示scala方面的示例-因为我对如何解决此问题一无所知。
最佳答案
模板
<ul>
<lift:UserSnippet.showAll>
<li><foo:userName />: <foo:age /></li>
</lift:UserSnippet.showAll>
</ul>
摘录类
我假设
users
是List[User]
。import scala.xml.NodeSeq
import net.liftweb.util.Helpers
class UserSnippet {
def showAll(in: NodeSeq): NodeSeq = {
users.flatMap { user => Helpers.bind("foo", in, "userName" -> user.name, "age" -> user.age) }
}
}
有关更多信息,请参阅designer friendly templates和snippets上的Lift Wiki文章。