【求助】关于routes.setBaseViewPath controller模板路径

JFinal 3.2 中

config部分

routes.setBaseViewPath("/template/default");

routes.add("/admin", class cn.jeefree.admin.system.controller.AdminController,"admin")

controller部分

public class AdminController extends Controller{

public void login(){

}

}

我的login.html是放在  webapp/template/default/admin/login.html

访问:http://127.0.0.1/admin/login

JFinal action report -------- 2017-09-08 13:36:02 ------------------------------

Url         : GET /admin/login

Controller  : cn.jeefree.admin.system.controller.AdminController.(AdminController.java:1)

Method      : login

--------------------------------------------------------------------------------


2017-09-08 13:36:02

[ERROR]-[Thread: qtp305623748-21]-[com.jfinal.core.ActionHandler.handle()]: /admin/login

com.jfinal.render.RenderException: java.lang.RuntimeException: File not found : D:\workspacegit\jeefree\src\main\webapp/admin/login.html

at com.jfinal.render.TemplateRender.render(TemplateRender.java:63)

at com.jfinal.core.ActionHandler.handle(ActionHandler.java:99)


为何设置了 routes.setBaseViewPath("/template/default"); 他走的依然是 webroot呢,请问我哪里出了问题,新手小白求教。


评论区

quan1chen

2017-09-08 14:26

没问题了,已解决。囧!
自己写的扫描 AutoBindRoutes
routes.add() 部分写错了
换回官方的
routes.add("/admin", AdminController.class,"admin")

JFinal

2017-09-08 14:40

@quan1chen 路由功能不要扫描, 用 jfinal 官方的方式是最好的。 如果扫描路由这种方式好,jfinal 官方早就把她实现了,这里头很多副作用

quan1chen

2017-09-08 15:12

是的 路由还是直接配置 是正道。扫描问题多多

热门反馈

扫码入社