月光疾风

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

    目前在做一个项目,用了SSI框架。在登录系统后,我让页面加载了一棵导航树。这棵树使用jQuery的$.getJSON()方法获得,其action对应的方法是getNavigateTree()。但是在调试的时候发现,程序运行后会在某一时刻进入getNavigateTree()(这是凭空多出来的一次调用), 然后执行其他的一些代码,到后面又进入一次getNavigateTree()(这是本来就应该调用的),退出这个方法后,整个树显现出来。

这可奇怪了,为什么会这样?同样的,还有一个权限树,也是使用$.getJSON()获得,对应的方法是getAuthorityTree(),但是登录后并没有调用它,它也执行了。我把和getAuthorityTree()有关的所有内容,包括入口,struts配置,全部注释,只保留了这个方法本身,仍然会进入这个方法。

我想,问题应该和jQuery无关,不是$.getJSON()自动触发引起的。那会是什么呢?后来找了一个朋友,让他一起看,他看了一会儿,让我把getAuthorityTree()改成createAuthorityTree()。结果就好了。同样的把getNavigateTree()改成createNavigateTree(),问题也没有了。

    原来是方法名起错了,不该叫做get***()。但是是谁引起的get***()自动调用呢?是Spring注入吗?

posted on 2012-04-20 15:45  月光疾风  阅读(481)  评论(0编辑  收藏  举报