4.9. Nutz集成

Nutz集成提供了 BeetlViewMaker ,实现了 ViewMaker方法,如下代码

  1. @At("/ctx")
  2. @Ok("beetl:ctx.btl")
  3. public Context withContext() {
  4. Context ctx = Lang.context();
  5. Pager pager = dao.createPager(1, 20);
  6. pager.setRecordCount(dao.count(UserProfile.class));
  7. List<UserProfile> list = dao.query(UserProfile.class, null, pager);
  8. ctx.set("pager", pager);
  9. ctx.set("list", list);
  10. return ctx;
  11. }
  1. <html>
  2. <head>
  3. <title>Beetl&Nutz</title>
  4. </head>
  5. <body>
  6. <p>总共 ${list.~size}<p/>
  7. <%
  8. for(user in list){
  9. %>
  10. <p>hello,${user.nickname};<p/>
  11. <% } %>
  12. <p>当前页${pager.pageNumber},总共${pager.pageCount}页<p/>
  13. </body>
  14. </html>

需要注意的是,如果使用了nutz的obj(http://www.nutzam.com/core/mvc/view.html),则需要在模板顶部申明obj是动态对象,如

  1. <%
  2. directive dynamic obj
  3. %>
  4. ${obj.user.title}
  5. ${obj.user.name}

或者使用beetl的默认引擎,采取如下配置

ENGINE=org.beetl.core.engine.DefaultTemplateEngine