enjion模板路径=BaseViewPath+View Path+View
BaseViewPath在配置文件路由中设置
@Override
public void configRoute(Routes me) {
// TODO Auto-generated method stub
//使用了扫描功能就不需要手动添加路由了(me.add("/hello", HelloController.class);)
me.scan("caclwebapp.com.lckj.run");
//配置模板路由的BaseViewPath(基础路由)
me.setBaseViewPath("view");
}
ViewPath是在手动添加路由的时候或者使用路由自动扫描的时候再注解中加的:
1、手动添加路由
// basePath 为第三个参数 "/index"
me.add("/", IndexController.class, "/index");
// 第三个参数省略时, basePath 取第一个参数的值 : "/project"
me.add("/project", ProjectController.class);
Route.add的第三个参数就是ViewPath,当没有第三个参数的时候使用第一个参数作为viewPath
2、自动扫描的viewPath
@Path(value = "/hello",viewPath = "viewPath")
public class PoiController extends Controller{
public void index() {
renderText("Hello JFinal World.");
}
public void getTest() {
System.out.println(getViewPath());
render("index.html");
}
}
使用@Path注解添加的viewPath,当viewPath不写的使用使用value值作为viewpath和手动填写的类似。
View 就是render(view)添加的最后一层路由
但是需要要注意的俩点:
注意:当view以 “/” 字符打头时表示绝对路径,baseViewPath 与 viewPath 将被忽略
示例:
@Path(value = "/hello")
public class PoiController extends Controller{
public void index() {
renderText("Hello JFinal World.");
}
public void getTest() {
System.out.println(getViewPath());
render("index.html");
}
}
当我直接使用模板名字的时候,使用的是BaseViewPath+ViewPath+View的模板路径。如下图报错可以看出
当为view前加上/后BaseViewPath和ViewPath就忽略了
@Path(value = "/hello")
public class PoiController extends Controller{
public void index() {
renderText("Hello JFinal World.");
}
public void getTest() {
System.out.println(getViewPath());
render("/index.html");
}
}