【发布时间】:2011-02-07 19:15:38
【问题描述】:
我正在学习使用 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>"
}
}
views/add/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>
【问题讨论】: