NutzCN Logo
问答 Beetl集成,可以绑定多个值吗?而不是通篇写obj.xxx
发布于 3343天前 作者 wendal 3392 次浏览 复制 上一个帖子 下一个帖子
标签: beetl

现在基本上这样写

总共 ${obj.list.~size}
<%
for(user in obj.list){
%>
hello,${user.nickname};


<%}%>

当前页${obj.pager.pageNumber},总共${obj.pager.pageCount}页

有没有办法写成

${list.~size}
3 回复

有, 跟其他所有视图一样, 可以返回Context对象来实现

入口方法

	@At("/ctx")
	@Ok("beetl:ctx.btl")
	public Context withContext() {
		Context ctx = Lang.context();
		Pager pager = dao.createPager(1, 20);
		pager.setRecordCount(dao.count(UserProfile.class));
		List<UserProfile> list = dao.query(UserProfile.class, null, pager);
		ctx.set("pager", pager);
		ctx.set("list", list);
		return ctx;
	}

beetl模板


<html> <head> <title>Beetl多值绑定测试,返回值类型是Context</title> </head> <body> <p>总共 ${list.~size}<p/> <% for(user in list){ %> <p>hello,${user.nickname};<p/> <%}%> <p>当前页${pager.pageNumber},总共${pager.pageCount}页<p/> </body> </html>

访问输出

<html>
<head>
<title>Beetl多值绑定测试,返回值类型是Context</title>
</head>
<body>
<p>总共 8<p/> 
<p>hello,管理员;<p/> 
<p>hello,wendal;<p/> 
<p>hello,Rekoe;<p/> 
<p>hello,ywjno;<p/> 
<p>hello,Wizzercn;<p/> 
<p>hello,fangoxyz;<p/> 
<p>hello,游客;<p/> 
<p>hello,wendal100;<p/> 
<p>当前页1,总共1页<p/> 
</body>
</html>

这种跟用map.put最后返回map
使用有啥区别?虽然map要是obj的一个值

也是obj一个值,这手残的

添加回复
请先登陆
回到顶部