grails错误:请求的资源不可用

grails错误:请求的资源不可用,grails,Grails,您能否告诉我,当以以下简单方式向控制器添加新操作时,为什么会出现HTTP状态404 resource not available错误: 首先,我在Grails生成的列表操作中添加了一条语句println“in list action”,以确保看到对控制器进行的文件更新。这个println然后出现在控制台上 我在控制器中添加了一个新操作“abc”,直接从索引操作复制其代码,即使其简单地重定向到列表操作 当我输入浏览器地址时:它返回资源不可用。重新启动grails没有任何帮助。如果我进入,它将按

您能否告诉我,当以以下简单方式向控制器添加新操作时,为什么会出现HTTP状态404 resource not available错误:

  • 首先,我在Grails生成的列表操作中添加了一条语句println“in list action”,以确保看到对控制器进行的文件更新。这个println然后出现在控制台上
  • 我在控制器中添加了一个新操作“abc”,直接从索引操作复制其代码,即使其简单地重定向到列表操作
当我输入浏览器地址时:它返回资源不可用。重新启动grails没有任何帮助。如果我进入,它将按预期工作


谢谢

您是否创建了一个视图以配合您的操作?通常你会有一个 grails应用程序/views/user/abc.gsp


如果您没有视图,则会出现404错误,因为您的控制器会尝试将浏览器指向不存在的页面。

您是否创建了一个视图以配合您的操作?通常你会有一个 grails应用程序/views/user/abc.gsp


如果您没有视图,则会出现404错误,因为您的控制器会尝试将浏览器指向不存在的页面。

我刚刚使用Grails 1.3.7对其进行了测试。您可以使用
重定向(操作:“索引”)
安全地结束控制器操作,它不会抛出错误

我猜是你干的:

def index = { [foo: "bar"] }
def abc = { [foo: "bar"] }
在这种情况下,您需要为
index
abc
提供一个专用视图

如果您改为这样做:

def abc = { redirect(action: "index") }

您将正确重定向。

我刚刚使用Grails1.3.7对其进行了测试。您可以使用
重定向(操作:“索引”)
安全地结束控制器操作,它不会抛出错误

我猜是你干的:

def index = { [foo: "bar"] }
def abc = { [foo: "bar"] }
在这种情况下,您需要为
index
abc
提供一个专用视图

如果您改为这样做:

def abc = { redirect(action: "index") }

您将被正确重定向。

经验教训:如果您出现这种行为,请确保在其他操作中没有错误的代码语法


我解决了这个奇怪的问题(在某种程度上)。结果是,我在第一个动作中缺少了一个右括号,但在第二个动作中又多了一个右括号。我不知道这是如何编译的,但显然是这样的,因为当我进一步添加新的测试动作样本时,它们最终起了作用(这似乎很奇怪)。当我修复了括号问题时,第二个动作也起了作用


请注意,我在做当前的Grails示例时没有使用完整的IDE,因此IDE可能会发现此错误。

经验教训:如果您遇到此行为,请确保在其他操作中没有错误的代码语法


我解决了这个奇怪的问题(在某种程度上)。结果是,我在第一个动作中缺少了一个右括号,但在第二个动作中又多了一个右括号。我不知道这是如何编译的,但显然是这样的,因为当我进一步添加新的测试动作样本时,它们最终起了作用(这似乎很奇怪)。当我修复了括号问题时,第二个动作也起了作用



请注意,我在做当前的Grails示例时没有使用完整的IDE,因此IDE可能会发现这个错误。

也有同样的错误,并且通过强制我的项目完全重新编译来修复它。这意味着,我删除了我的
目录
的内容以及所有
文件。重新运行项目,然后重新构建所有文件,预期的控制器操作可用。

有相同的错误,并通过强制我的项目完全重新编译来修复该错误。这意味着,我删除了我的
目录
的内容以及所有
文件。重新运行项目,然后重新构建所有文件,并且预期的控制器操作可用。

您的操作是结束还是方法?另外,向我们展示控制器代码将有助于您使用干净的新Grails应用程序吗?如果没有,您可能会摆弄安全过滤器、URL映射或其他东西。你的行为是一种结束还是一种方法?另外,向我们展示控制器代码将有助于您使用干净的新Grails应用程序吗?如果没有,您可能会摆弄安全过滤器、URL映射或其他东西。有吗?Jared,为什么需要为执行重定向的操作创建视图?例如,标准的save操作没有save.gsp,是吗。有人需要告诉grails他们所做的每一个动作吗?Jared,对于一个重定向的动作,为什么需要创建一个视图?例如,标准的save操作没有save.gsp,是吗。你需要告诉grails他们的每一个动作吗?过于热心了,对于abc我做了:def abc={redirect(action:“list”,params:params)}。然后,在尝试访问操作abc时,出现了“资源不可用”错误。请注意,我更新了以前的评论。您的
列表
操作是否有视图?如果您想要更多支持,您需要按照上面评论中的建议发布控制器。列表操作显示很好,通过…/list或…/index显式引用它。但是…/abc不起作用。你能复制吗?感谢您的热情,对于abc我做了:def abc={redirect(action:“list”,params:params)}。然后,在尝试访问操作abc时,出现了“资源不可用”错误。请注意,我更新了以前的评论。您的
列表
操作是否有视图?如果您想要更多支持,您需要按照上面评论中的建议发布控制器。列表操作显示很好,通过…/list或…/index显式引用它。但是…/abc不起作用。你能行吗