开发者社区 问答 正文

JFinal中有关render和页面渲染的疑惑

/***************CommonController.java**************/
 
@Before(CommonInterceptor.class)
public class CommonController extends Controller {
    @Before(CommonValidator.class)
    public void index() {
        renderJsp("/common/index.html");
    }
}
 
/************CommonInterceptor.java**************/
 
public class CommonInterceptor implements Interceptor {
 
    @Override
    public void intercept(ActionInvocation ai) {
        System.out.println("Before invoking " + ai.getActionKey());
        ai.invoke();
        System.out.println("After invoking " + ai.getActionKey());
    }
 
}
 
/***************CommonValidator********************/
public class CommonValidator extends Validator {
 
    @Override
    protected void handleError(Controller cto) {
        System.out.println(getActionKey());
    }
 
    @Override
    protected void validate(Controller cto) {
        System.out.println("validate...");
    }
 
}
    由于最近一直考虑做一个网站,打算用一门新颖的技术来实现,忽然一天JFinal横空出世了,奔着史上最快最省代码这句话开始研究了,终于在今天晚上没有加班到凌晨,白天不用拼命修改bug的情况下开始了JFinal的研究之路,废话完毕,切入正题。

    JFinal里面有几个render的方法,render在此意为渲染,`render、renderJsp、renderFreeMarker、`renderHtml,由于我的页面是jsp的,于是在`CommonController里面调用renderJsp("/common/index.jsp"),`但是发现运行到页面后所有的css、js效果尽失,后来听说有ActionInvocation才行,于是加了一个CommonInterceptor,该类实现了Interceptor,而且在`intercept(ActionInvocation ai)`方法里面调用了`ai.getActionKey(),`然后去`CommonController`里面加上了`@Before(CommonInterceptor.class),`再次运行项目,发现jsp页面依然没有效果。求高手指点错在哪里? 

展开
收起
小旋风柴进 2016-06-08 11:05:36 2847 分享 版权
0 条回答
写回答
取消 提交回答