action错误

ERROR]-[Thread: main]-[com.jfinal.kit.LogKit.error()]: The action "com.cmpl.jxgl.controller.DepartmentUserController.beforeSave()" can not be mapped, actionKey "/departUser/beforeSave" is already in use.

java.lang.RuntimeException: The action "com.cmpl.jxgl.controller.DepartmentUserController.beforeSave()" can not be mapped, actionKey "/departUser/beforeSave" is already in use.


各位大神,我从3.0升级到3.5项目启动的时候,就报这个错。

评论区

JFinal

2018-11-15 17:03

由于 jfinal 3.5 支持了 action 带参功能,以前的 controller 中那些带参的方法没有映射过路由,但 3.5 会给映射路由

解决办法极其简单,用 eclipse 搜索一下异常中的字符串 "beforeSave",会找到两个或以上的在 controller 中的方法,将其中的一个用 @NotAction 注解一下即可

chenmopinglou

2018-11-15 19:18

@JFinal 波总,我发现问题了,是我项目写了个controller层的基类,只要继承该基类,重写父类public的方法,都会出现此错误,把父类的修改为非public的即可解决。我建议重写的方法,您再给路由表映射的时候,只注册一次,不要父类和子类的都进行注册!个人建议!

热门反馈

扫码入社