今天在osc上看到有人聊起pjax,好奇写了个jfinal 模版的版本,供大家参考!
一、页面
#if (pjax) #@main() #else #@layout() #end #define main() <h1>Blog管理 ---> 创建Blog </h1> <div class="form_box"> <form action="/blog/save" method="post"> #include("_form.html") </form> </div> #end
二、控制器java代码
public void index() { render("index.html"); } // 重写render,此处代码应该抽到通用控制器中,然后继承她 private void isPjax() { String pjaxTag = getHeader("X-PJAX"); boolean isPjax = StrKit.notBlank(pjaxTag) && pjaxTag.equalsIgnoreCase("true"); setAttr("pjax", isPjax); } @Override public void render(Render render) { super.render(render); isPjax(); } @Override public void render(String view) { super.render(view); isPjax(); }
完毕,完美兼容pjax和非pjax的情况!