`
radzhang
  • 浏览: 309999 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jfinal 3.5和jfinal_ext的ControllerExt冲突

 
阅读更多

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_demo_for_maven.zip_DEMO_JFinal crud_JFinal 项目_jfinal_jfin

    在 JFinal 项目中,通过 Maven 可以方便地引入 JFinal 的依赖,如 `jfinal` 和 `mysql-connector-java` 等,使得数据库连接和 JFinal 框架的使用变得更加顺畅。此外,Maven 的生命周期和插件机制也使得编译、测试、...

    jfinal_demo

    本篇文章将围绕"jfinal_demo"这一项目实例,深入探讨JFinal的核心特性和实际应用,帮助读者从实践中理解并掌握JFinal框架。 一、JFinal简介 JFinal是基于Java语言的MVC(Model-View-Controller)框架,它的设计...

    jfinal_common_maven_jfinal_

    本文将围绕“jfinal_common_maven_jfinal_”这个主题,深入探讨 JFinal 框架中的模板技术和实现树形菜单功能的方法。 首先,让我们来了解 JFinal 模板。JFinal 内置了 Freemarker 和 Beetl 两种模板引擎,开发者...

    基于JFinal的开源博客系统JFinal_Blog2.0版本

    JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示demo,目前已经加入了OSC开源项目和Github。 一、V2.0 版本新增功能点及bug修复情况: 1、添加百度Ping服务; 2、添加百度...

    基于JFinal的开源博客系统JFinal_Blog2.0版本.zip

    JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示demo,目前已经加入了OSC开源项目和Github。 一、V2.0 版本新增功能点及bug修复情况: 1、添加百度Ping服务; 2、添加百度...

    jfinal_layui增删改查分页

    在JFinal_LayUI项目中,增删改查功能的实现主要依赖于JFinal的数据操作API和LayUI的表格组件。JFinal的Model机制使得数据库操作变得简单直接,只需通过简单的API即可完成数据的插入、更新、删除等操作。而LayUI的...

    javen205-jfinal_qyweixin-master.zip

    在这个项目中,“javen205-jfinal_qyweixin-master.zip”是一个关于使用Java SDK与企业微信进行集成的实例。下面,我们将深入探讨这个SDK的核心概念、使用场景以及具体实现细节。 1. **核心概念** - **企业微信API...

    JFinal_Blog

    - 学习JFinal官方文档和社区资源,可以帮助开发者深入理解框架的用法和最佳实践。 - 掌握HTML、CSS和JavaScript前端技术,可以更好地定制JFinal_Blog的界面和交互。 总之,JFinal_Blog是一个优秀的基于JFinal框架...

    jfinal_demo_1.rar

    本指南将通过“jfinal_demo_1”项目实例,帮助初学者深入理解JFinal的基本概念和核心功能,从而快速上手。 一、JFinal框架简介 JFinal是基于MVC(Model-View-Controller)架构模式的,它旨在简化Web应用的开发流程...

    jfinal_demo_for_jsp.zip_DEMO_jfinal

    总的来说,“jfinal_demo_for_jsp.zip_DEMO_jfinal”这个DEMO项目为我们展示了JFinal在数据库操作和JSP页面交互上的高效性和便利性。如果你追求的是快速开发和简单维护,JFinal无疑是值得考虑的选择。而当面临大型...

    基于JFinal的开源博客系统JFinal_Blog1.1版本

    JFinal_Blog是基于JFinal1.5开源系统搭建的博客系统,以91zcm.com 网站作为模板和演示事例,目前已经加入了开源行列。 JFinal_Blog 1.1版本发布新增功能点: 1、将数据库连接池由C3P0升级为Druid实现; 2、废弃WEB-...

    Jfinal_demo_weixin_bbs_UIB

    http://code.taobao.org/svn/jfinal_name/

    blog.zip_jfinal_jfinal 日志配置_oracle

    JFinal默认集成了Log4j作为日志系统,但同时也支持其他日志框架如Logback和Java内置的日志API。日志配置主要通过`config/log.properties`文件完成,其中可以设置日志级别(DEBUG、INFO、WARN、ERROR等)、日志输出...

    JFinal_demo_for_jsp-1.5.zip

    总结来说,"JFinal_demo_for_jsp-1.5.zip"这个压缩包是一个JFinal入门示例,通过JSP展示了JFinal的MVC架构、零配置特性和插件化设计。开发者可以借此学习如何利用JFinal搭建一个简洁高效的Web应用,并理解JSP在其中...

    jfinal_demo_for_jsp实现Demo

    1. **项目结构**:JFinal项目通常遵循一定的目录结构,包括`webapp`(存放Web应用资源)、`src/main/java`(Java源代码)、`src/main/resources`(配置文件和静态资源)等。 2. **JFinal配置**:在`src/main/...

    jfinal 3.5离线手册

    《JFinal 3.5离线手册》是针对Java开发者的一款详尽的参考资料,它包含了JFinal框架3.5版本的所有关键特性和使用方法。JFinal是一个轻量级的Java Web开发框架,以其高效、易用的特点深受开发者喜爱。这份离线手册的...

    JFinal_sqlserver

    JFinal 使用了切面编程(AOP)和模型驱动(MVC)的设计模式,提供了丰富的插件支持,使得开发者能够快速地构建Web应用。在本项目"JFinal_sqlserver"中,开发者已经成功地将JFinal框架与SQL Server 2008 数据库进行了...

    jfinal-ext2

    jfinal-ext2提供了jfinal很多更加简便的操作及功能,方便了广大开发人员

    jfinal-ext-3.1.2.zip

    JFinal-Ext 3.1.2是一款针对JFinal框架的扩展库,它为开发者提供了更丰富的功能和更高效的开发体验。这个版本的源码升级旨在帮助那些基于JFinal 1.9版本的项目进行无缝升级,同时保持对JFinal-Ext的依赖。在本文中,...

    jfinal_manual_3.2_jfinal最新手册

    ### JFinal 3.2 手册核心知识点详解 #### 第一章 快速上手上手 ##### 1.1 创建项目 - **步骤**:首先需要创建一个新的Java Web项目。 - **工具**:可以使用Eclipse、IntelliJ IDEA等开发工具进行创建。 - **环境**...

Global site tag (gtag.js) - Google Analytics