jfinal3.1切换到jfinal3.5后,项目启动就失败了,查看了一下,是jfinal在initActionMapping的时候,有重复的actionkey发生。
后来跟踪代码,看到,
protected void buildActionMapping() {
mapping.clear();
Set<String> excludedMethodName = buildExcludedMethodName();
InterceptorManager interMan = InterceptorManager.me();
for (Routes routes : getRoutesList()) {
for (Route route : routes.getRouteItemList()) {
Class<? extends Controller> controllerClass = route.getControllerClass();
Interceptor[] controllerInters = interMan.createControllerInterceptor(controllerClass);
在buildExcludeMethodName里,会把Controller基类的方法都去除。
而我的项目的controller是扩展了jfinal_ext里的ControllerExt基类。在ControllerExt基类里,定义了getFileSaveToDatePath等不同参数类型的方法,
protected void buildActionMapping() {
mapping.clear();
Set<String> excludedMethodName = buildExcludedMethodName();
InterceptorManager interMan = InterceptorManager.me();
for (Routes routes : getRoutesList()) {
for (Route route : routes.getRouteItemList()) {
Class<? extends Controller> controllerClass = route.getControllerClass();
Interceptor[] controllerInters = interMan.createControllerInterceptor(controllerClass);
boolean sonOfController = (controllerClass.getSuperclass() == Controller.class);
Method[] methods = (sonOfController ? controllerClass.getDeclaredMethods() : controllerClass.getMethods());
for (Method method : methods) {
String methodName = method.getName();
if (excludedMethodName.contains(methodName) /* || method.getParameterTypes().length != 0 */)
continue ;
if (sonOfController && !Modifier.isPublic(method.getModifiers()))
continue ;
if (method.getAnnotation(NotAction.class) != null)
但是在3.5因为action也允许有参数注入了,所以这个地方把getParameterTypes()这个条件注释掉了,导致buildActionMapping失败。
相关推荐
在 JFinal 项目中,通过 Maven 可以方便地引入 JFinal 的依赖,如 `jfinal` 和 `mysql-connector-java` 等,使得数据库连接和 JFinal 框架的使用变得更加顺畅。此外,Maven 的生命周期和插件机制也使得编译、测试、...
本篇文章将围绕"jfinal_demo"这一项目实例,深入探讨JFinal的核心特性和实际应用,帮助读者从实践中理解并掌握JFinal框架。 一、JFinal简介 JFinal是基于Java语言的MVC(Model-View-Controller)框架,它的设计...
本文将围绕“jfinal_common_maven_jfinal_”这个主题,深入探讨 JFinal 框架中的模板技术和实现树形菜单功能的方法。 首先,让我们来了解 JFinal 模板。JFinal 内置了 Freemarker 和 Beetl 两种模板引擎,开发者...
JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示demo,目前已经加入了OSC开源项目和Github。 一、V2.0 版本新增功能点及bug修复情况: 1、添加百度Ping服务; 2、添加百度...
JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示demo,目前已经加入了OSC开源项目和Github。 一、V2.0 版本新增功能点及bug修复情况: 1、添加百度Ping服务; 2、添加百度...
在JFinal_LayUI项目中,增删改查功能的实现主要依赖于JFinal的数据操作API和LayUI的表格组件。JFinal的Model机制使得数据库操作变得简单直接,只需通过简单的API即可完成数据的插入、更新、删除等操作。而LayUI的...
在这个项目中,“javen205-jfinal_qyweixin-master.zip”是一个关于使用Java SDK与企业微信进行集成的实例。下面,我们将深入探讨这个SDK的核心概念、使用场景以及具体实现细节。 1. **核心概念** - **企业微信API...
- 学习JFinal官方文档和社区资源,可以帮助开发者深入理解框架的用法和最佳实践。 - 掌握HTML、CSS和JavaScript前端技术,可以更好地定制JFinal_Blog的界面和交互。 总之,JFinal_Blog是一个优秀的基于JFinal框架...
本指南将通过“jfinal_demo_1”项目实例,帮助初学者深入理解JFinal的基本概念和核心功能,从而快速上手。 一、JFinal框架简介 JFinal是基于MVC(Model-View-Controller)架构模式的,它旨在简化Web应用的开发流程...
总的来说,“jfinal_demo_for_jsp.zip_DEMO_jfinal”这个DEMO项目为我们展示了JFinal在数据库操作和JSP页面交互上的高效性和便利性。如果你追求的是快速开发和简单维护,JFinal无疑是值得考虑的选择。而当面临大型...
JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示事例,目前已经加入了开源行列。 JFinal_Blog 1.1版本发布新增功能点: 1、将数据库连接池由C3P0升级为Druid实现; 2、废弃WEB-...
http://code.taobao.org/svn/jfinal_name/
JFinal默认集成了Log4j作为日志系统,但同时也支持其他日志框架如Logback和Java内置的日志API。日志配置主要通过`config/log.properties`文件完成,其中可以设置日志级别(DEBUG、INFO、WARN、ERROR等)、日志输出...
总结来说,"JFinal_demo_for_jsp-1.5.zip"这个压缩包是一个JFinal入门示例,通过JSP展示了JFinal的MVC架构、零配置特性和插件化设计。开发者可以借此学习如何利用JFinal搭建一个简洁高效的Web应用,并理解JSP在其中...
1. **项目结构**:JFinal项目通常遵循一定的目录结构,包括`webapp`(存放Web应用资源)、`src/main/java`(Java源代码)、`src/main/resources`(配置文件和静态资源)等。 2. **JFinal配置**:在`src/main/...
《JFinal 3.5离线手册》是针对Java开发者的一款详尽的参考资料,它包含了JFinal框架3.5版本的所有关键特性和使用方法。JFinal是一个轻量级的Java Web开发框架,以其高效、易用的特点深受开发者喜爱。这份离线手册的...
JFinal 使用了切面编程(AOP)和模型驱动(MVC)的设计模式,提供了丰富的插件支持,使得开发者能够快速地构建Web应用。在本项目"JFinal_sqlserver"中,开发者已经成功地将JFinal框架与SQL Server 2008 数据库进行了...
jfinal-ext2提供了jfinal很多更加简便的操作及功能,方便了广大开发人员
JFinal-Ext 3.1.2是一款针对JFinal框架的扩展库,它为开发者提供了更丰富的功能和更高效的开发体验。这个版本的源码升级旨在帮助那些基于JFinal 1.9版本的项目进行无缝升级,同时保持对JFinal-Ext的依赖。在本文中,...
### JFinal 3.2 手册核心知识点详解 #### 第一章 快速上手上手 ##### 1.1 创建项目 - **步骤**:首先需要创建一个新的Java Web项目。 - **工具**:可以使用Eclipse、IntelliJ IDEA等开发工具进行创建。 - **环境**...