集成beetl

基本信息

在MainModule声明@Views,引入BeetlViewMaker

@Views({BeetlViewMaker.class})

在conf目录beetl.properties下添加配置文件

RESOURCE_LOADER=org.beetl.core.resource.WebAppResourceLoader
#ERROR_HANDLER=net.wendal.nutzbook.beetl.LogErrorHandler
RESOURCE.root=/WEB-INF/templates/beetl

在目录 /WebContent/WEB-INF/templates/beetl 下添加一个模板, hello.html

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


<%}%>

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

新建个BeetlTemplateModule类,加入下述方法

    @At
    @Ok("beetl:hello.html")
    @Fail("void") // beelt的机制导致只能使用void,详细原因看nutzbook中的代码吧
    public Object hello() {
        QueryResult qr = new QueryResult();
        Pager pager = dao.createPager(1, 20);
        pager.setRecordCount(dao.count(UserProfile.class));
        qr.setPager(pager);
        qr.setList(dao.query(UserProfile.class, null, pager));
        return qr;
    }

访问该入口方法即可看到效果

可能出现的问题

  • 找不到模板, 需要在beetl.properties中把RESOURCE.root设置为绝对路径,貌似新版beetl已经解决这个问题.

results matching ""

    No results matching ""