Grails标记actionSubmit导致404错误

时间:2015-02-20 12:12:10

标签: java forms grails http-status-code-404

我正在使用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,它会工作并呈现“读取”视图,但如果我点击test1按钮,我会得到:

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

为什么actionSubmit不能正常工作?

我的怀疑是与自动生成的name="_action_test1"有关,因为如果我删除下划线(即使用萤火虫),它就有效。

但是根据Grails的文档,标签的使用是可以的:

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

1 个答案:

答案 0 :(得分:0)

我相信你缺少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这对我来说很好用