按照一些文章的代码设置如下:
@Bean(name = "enjoyViewResolver")
public EnjoyViewResolver getJFinalViewResolver(){
EnjoyViewResolver jf = new EnjoyViewResolver();
jf.setSessionInView(true); //设置页面获取session
jf.setDevMode(true);
jf.setSourceFactory(new ClassPathSourceFactory());
//这里根据自己的目录修改,一般页面放到/templates下面
jf.setPrefix("/templates/");
jf.setSuffix(".html");
jf.setContentType("text/html;charset=UTF-8");
jf.setOrder(0);
return jf;
}正常访问页面没有问题,但是我将一些公共部分提取到common.html中,在页面中使用#include("common/common.html"):
<meta http-equiv="Cache-Control" content="no-siteapp" />
#include("common/common.html")
<title>角色管理</title>controller:
private static final String basePath = "sys/role/";
@GetMapping
public String toRole(){
return basePath+"admin-role";
}访问页面之后报错如下:
java.lang.IllegalArgumentException: File not found : "templates/sys/role/common/common.html"
目录结构:

请问到底该如何设置路径?
项目:JFinal
#include("/common/common.html")
如果不添加 "/" 前缀,则是去使用该 #include 指令的那个模板的相对路径去找。
例如你这个例子中的模板是 sys/role 下的 admin-role.html ,所以会去 sys/role 下去找 common/common.html
#include 支持相对路径与绝对路径,是为了让代码量可以最省,同级路径下的模板使用时可以省去路径输入