Grails 标签 actionSubmit 导致 404 错误

Grails tag actionSubmit causes 404 error

我使用的是 grails 标签 formactionSubmit,提交时出现 404 错误(我使用的是 Grails 2.3.7)。

正在查看 write.gsp

<g:form action="send">
    <g:actionSubmit value="test1"/>
    <input type="submit" value="test2"/>
</g:form>

并且在呈现视图时,结果为:

<form method="post" action="/messaging/send">
    <input type="submit" value="test1" name="_action_test1">
    <input type="submit" value="test2">
</form>

在控制器处:

class MessagingController {
   def send = {
      //some code here
      chain(action:"read")
   }

   def read = {
      // more working code
   }

}

因此,如果我单击按钮 test2,它会工作并且呈现 "read" 视图,但是如果我单击 test1 按钮,我得到:

HTTP Status 404 - /messaging/send
type Status report
message /messaging/send
description The requested resource is not available.

为什么 actionSubmit 无法正常工作?

我怀疑这与自动生成的 name="_action_test1" 有关,因为如果我删除下划线(即使用 firebug)它会起作用。

但是根据 Grails 文档,标签的使用是正确的:

http://grails.github.io/grails-doc/2.3.7/ref/Tags/actionSubmit.html

我认为您缺少 actionSubmit 中的操作字段:

<!--label derived from message bundle--> <g:actionSubmit value="${message(code:'label.update')}" action="Update" />

<g:actionSubmit value="test1" action="test1"/>

最近在直接从生成的 grails 代码中提取的插件中使用了它:https://github.com/vahidhedayati/jssh/blob/master/grails-app/views/jsshadmin/_edit.gsp 对我来说效果很好