JFinal render须知

1.如果直接render("xxx.html/xxx.jsp")的话请把默认的视图模式设置为相应的,否则会解析错误的。具体设置请参考Jfinal手册。

me.setViewType(ViewType.FREE_MARKER);
me.setViewType(ViewType.JSP);
me.setViewType(ViewType.VELOCITY);

默认是第一个。

2.注意render完成如果不想执行下面的代码请写上return

3.如果想在action中转调其他action有三种方法

一、方法的直接调用。

 就是在action中调用其他的action方法。如

public void index() {
    list();
}
	
public void list() {
    Page<School> schoolPage = School.dao.paginate(getParaToInt(0, 1), 20, "select *", "from school");
    setAttr("schoolPage", schoolPage);
    setAttrs(getParaToInt(0, 1), defaultSchoolId);
    render("index.html");
}

 但这样是不调用list的拦截器及上级拦截器的。

二、请求转发forwardAction(actionUrl)

这种方式类似于struts,不过在Jfinal中这样是会经过你所调用acction的拦截器的。

三、重定向redirect(url)

这种方式也会调用请求url的拦截器(不过一般不怎么使用)

 

谈到了重定向我就在这多说几句,Jfinal的redirect系列设计的还是非常贴心的。

比如redirect(url, withOutQueryString) 如果不想?挂参的话可以把withOutQueryString设置为true

      redirect301(url) 自动给你做301重定向

水平有限,写的有错的话欢迎大家指正。

 

 

 

 

你可能感兴趣的:(action,jFinal,render)