我正在学习使用Grails,并且在处理应该是简单的表单提交时遇到了我不理解的情况.
我创建了一个名为'add'的控制器(有一个AddController.groovy源文件和一个相应的add/index.gsp视图),并定义了一个非常稀疏的'进程'动作,该动作当前呈现少量HTML以验证正在呼吁行动.
添加控制器上的进程操作的URL(毫不奇怪)是http:// localhost:8080/frontend/add/process /.
我想向流程操作提交一个非常简单的表单,作为与某些现有Java库集成的第一步.
向http:// localhost:8080/frontend/add/process /发送GET请求会导致调用流程操作,浏览器将显示相关的简单HTML内容.
向http:// localhost:8080/frontend/add/process /发送POST请求会返回HTTP 404错误.
我很欣赏我遗漏了一些对我的应用程序的基本补充,以便上述操作适用于GET和POST请求.我默认假设请求类型无关紧要.
如果我可以向相应的操作发送POST请求并且为了证明事情正在发挥作用而进行了一些标记,那么在这个阶段我会非常高兴.
我错过了什么基本要素的谜题?
控制器/前端/ AddController.groovy:
package frontend
class AddController {
    def index = { }
    def process = {
        render "<h1>process action being performed</h1>"
    }
}
Run Code Online (Sandbox Code Playgroud)
查看/添加/ index.gsp中
<html>
    <head>
        <title>Test View for index action</title>
        <meta name="layout" content="main" />
    </head>
    <body>
    <g:form controller="add" action="process">
        <label for="title">Title:</label>
        <g:textField name="title" id="title" />
        <label for="content">Content:</label>
        <g:textArea name="content" id="content" />
        <g:actionSubmit value="Add" />
    </g:form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)
    Jon*_*ram 15
该<g:actionSubmit />指令需要一个action属性来指示要处理的操作.我认为表单行动已经足够了.
我需要改变:
<g:actionSubmit value="Add" />
Run Code Online (Sandbox Code Playgroud)
至:
<g:actionSubmit value="Add" action="process" />
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2585 次  |  
        
|   最近记录:  |