删除控制器并不能完全删除控制器?

时间:2011-11-03 17:25:19

标签: spring-roo url-mapping

我创建了一个名为Card的实体及其CardController。由于我在创建错误时提交了错误,因此我删除了它们并再次创建了卡实体。

当我执行以下命令以使Controller返回新的Card字段时,会出现问题:

web mvc all

Roo输出是:

Found existing controller for mapping '/cards'.
Created SRC_MAIN_JAVA\com\entities\CardController.java

当执行/cards路径时,我一直看到OLD字段。 此外,如果我再次删除控制器(我已经在STS中直接从文件系统中尝试过),我试试这个:

web mvc scaffold --class com.web.CardController --backingType com.entities.Card

输出保持:

Found existing controller for mapping '/cards'.
Created SRC_MAIN_JAVA\com\entities\CardController.java

所以问题是:Roo在哪里找到/cards的控制器以及为什么,如果找到它,它会在错误的旧包中再次创建它?

2 个答案:

答案 0 :(得分:0)

从我可以看到你将控制器添加到实体而不是web

删除相关的实体和.aj文件,java控制器,.aj控制器,进入数据库并删除实体的表,然后重新创建实体和控制器

答案 1 :(得分:0)

我犯了类似的错误并发现了如何修复它。

在roo中,我使用web mvc all com.example.project.domain,后跟web mvc all,由于我的错误,roo将我的实体的控制器放在domain文件夹中。接下来,我使用web mvc all com.example.project.web,并在web文件夹下添加了任何后续实体控制器。不幸的是,如果我删除并重新添加早期实体,那么roo继续将它们放回domain文件夹下。

我通过对每个有问题的实体使用web mvc scaffold命令修复它,如下所示:web mvc scaffold --class ~.domain.MyEntity --backingType ~.web.MyEntityController。在此之后,即使web mvc all继续正常工作。