返回视图模版路径错误

jfinal beetl 整合的时候 路由配置后返回路径有点知道怎么写了

比如路由配置

public void config() {

// TODO Auto-generated method stub

add("/",IndexController.class);

add("/content",ContentController.class);

}

然后ContentController控制器代码

private static final String path="admin/content/";

public void index()

{

render(path+"list.html");

}

本来是返回的视图路径为
1.png


现在返回的路径会把Controllerkey一起带上

>>加载模板错(TEMPLATE_LOAD_ERROR): 位于0行 资源:/content/admin/content/list.html


public void configConstant(Constants me) {

//开启开发模式

PropKit.use("Config.txt");

me.setMainRenderFactory(new BeetlRenderFactory());

me.setEncoding("UTF-8");

me.setDevMode(PropKit.getBoolean("devMode", false));

}

为现在不知道是那里出了问题

评论区

qin

2016-11-28 20:52

解决了,发现问题了不删了别回头有人遇到同样的问题
一、分析action请求路径
1、首先会在web.xml中配置过滤器拦截action请求路径部分截断------/path1;
2、然后在继承JFinalConfig类的configRoute方法里调用add方法的第一个参数设置action请求对应的controller------path2;
3、最后还有controller里的无参、public方法名的定位------methodName。
最后action的访问路径就是以上三个部分拼装起来(tomcat服务器):http://ip:端口号/项目名称/path1/path2/methodName。(这是基本的action访问路径组合)
注:还可以通过注解ActionKey的方式注释设置action的访问路径

二、视图解析路径
1、web项目的默认解析路径是从WEB-Root(MyEclipse的web项目)开始的;
2、首先在JFinalConfig的configConstant方法里调用setBaseViewPath设置视图解析的部分路径----/path1;
3、在JFinalConfig的configRoute里配置Controller时调用的add方法第三个参数也是视图解析路径的一部分-----/path2(如果调用的是add两个参数方法,则默认的配置为controllerKey,即第一个参数)
4、最后在Controller的render方法里配置视图的最后部分./path3/test.html(如:/index.html)
视图解析路径为:
1、如果render中的参数是以/开头,则视图解析路径为/path3/test.html;
2、如果redner中的参数不是以/开头(path3/test.html),则视图解析路径为/path1/path2/path3/test.html。
视图解析会在WEB-Root目录下查找相应的文件,路径不正确是找不到的。

JFinal

2016-11-28 21:03

感谢回来分享

热门反馈

扫码入社