如何更改或映射Grails ajax webflow操作名称?

如何更改或映射Grails ajax webflow操作名称?,grails,Grails,我正在使用Grails插件创建一个基本向导。我遇到的一个问题是默认情况下使用的控制器操作命名。具体来说,假设我有一个名为ThingController的控制器,其中默认流名为pagesFlow。这会在执行过程中生成向导url /thing/pages?execution... 通常,该向导旨在允许添加“内容”。事实上,我更喜欢一个能表明这一点的url /thing/add?execution... 有没有一种方法可以通过更改pagesFlow定义或通过自定义url映射来实现此结果 我曾短暂尝

我正在使用Grails插件创建一个基本向导。我遇到的一个问题是默认情况下使用的控制器操作命名。具体来说,假设我有一个名为ThingController的控制器,其中默认流名为pagesFlow。这会在执行过程中生成向导url

/thing/pages?execution...
通常,该向导旨在允许添加“内容”。事实上,我更喜欢一个能表明这一点的url

/thing/add?execution...
有没有一种方法可以通过更改pagesFlow定义或通过自定义url映射来实现此结果


我曾短暂尝试过这两种方法,但都没有成功。ajaxflow插件似乎需要这种默认命名,我还不太了解url映射。

我没有专门使用ajaxflow,但我以前使用过grails webflow。一般来说,你所要求的是不可能的,因为webflow基本上是在幕后为你的流管理不同的“操作”,如添加/删除/更新等,所以只显示流名称“页面”

然而,如果你真的想有一个不同的名字,我能想到的唯一解决办法就是使用webflow的子流特性。webflow文档是grails文档的一部分


其思想是,子流只是您定义的另一个流。流可以调用另一个流,并让第二个流将结果返回给第一个流。因此,在您的情况下,您可以让您的主流调用addFlow、updateFlow等。从概念上讲,即使您的所有操作都属于一个流,也没有什么可以阻止您将每个操作分解为自己的流。这样,您就可以让URL的名称反映您的操作。您甚至可以在另一个控制器中定义子流,以便影响url中的控制器名称。

我也得出了这个结论,不过您的回答确实让我更快地到达了目的地。非常感谢。事实上,webflows最终对我的问题来说是矫枉过正,造成了比解决问题更多的头痛。真不幸。