这里是我的Grails(2.3.6)控制器:Grails的形式提交不
class WidgetController {
def index() {
render(
view: "createNew",
model:[
]
)
}
def execute() {
println "Executing form submission!"
redirect(action: "listAll")
}
def listAll() {
// Does some stuff
}
}
的index
URL是,比如说,http://localhost:8080/myapp/widget
。这个想法是,当有人转到这个URL时,他们会看到一个HTML表单。当他们填写表单时,他们被发送(在服务器端)到方法中,该方法执行一些重要的事情,然后将它们重定向到listAll()
方法,该方法执行一些最终的东西并呈现网页供他们查看。
这里是关于createNew.gsp
HTML表单(从index()
方法呈现:
<g:form name="create-new-form" url="[action:'execute',controller:'widget']">
<table class="pure-table pure-table-bordered">
<tr>
<td class="row-header">Fizz:</td>
<td><g:textField id="app-fizz" name="fizz" /></td>
</tr>
<tr>
<td class="row-header">Buzz:</td>
<td><g:textField id="app-buzz" name="buzz" /></td>
</tr>
</table>
<g:actionSubmit value="Create" />
</g:form>
当我去这个网址,并提交表格(点击创建按钮),我重定向到http://localhost/myapp/widget/execute
这显示我的自定义错误页的一个(基本上是“对不起,该网页无法使用‘型的错误。
此外,在日志的输出,我println
说明’执行表单提交! 。“不烧这告诉我,我没有什么正确的接线方式:Grails是试图重定向到URL /execute
但不知何故没有连接与我的控制器的方法思路是URL
钉钉它 - 谢谢! – smeeb 2014-09-11 12:56:58
没问题;)我刚刚添加了一些额外的信息给我的答案。 – 2014-09-11 13:02:37