【问题标题】:Deleting a Controller does not completely remove the Controller?删除 Controller 不会完全删除 Controller?
【发布时间】:2011-11-03 17:25:18
【问题描述】:

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

当我执行以下命令以获取带有新卡字段的控制器时,就会出现问题:

web mvc all

Roo 输出为:

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

当执行/cards 路径时,我一直看到旧字段。 此外,如果我再次删除控制器(我已经在 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 的控制器,为什么如果找到它,它会在错误的旧包中再次创建它?

【问题讨论】:

标签: spring-roo url-mapping


【解决方案1】:

据我所知,您正在将控制器添加到实体而不是网络中

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

【讨论】:

  • 我正在尝试将控制器创建到web,但是有一些隐藏的配置,每次我尝试它都会使控制器在最初创建的entities 中创建(并且已删除)。删除您所说的所有这些内容与 Roo 声称提供的简单性不符:-(
【解决方案2】:

我犯了一个类似的错误并找到了解决方法。

在 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 继续正常工作。

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 2023-04-03
    • 2020-08-23
    • 2017-01-20
    相关资源
    最近更新 更多