gpt4 book ai didi

grails - Grails操作适用于GET请求,针对POST请求返回404

转载 作者:行者123 更新时间:2023-12-02 14:14:04 24 4
gpt4 key购买 nike

我正在学习使用Grails,在处理应该是简单表单提交的内容时遇到了一种我不了解的情况。

我创建了一个名为“add”的 Controller (有一个AddController.groovy源文件和一个适当的add / index.gsp View ),并定义了一个非常稀疏的“process”操作,该操作当前呈现少量HTML以验证正在采取行动。

添加 Controller 上的流程操作的URL是http://localhost:8080/frontend/add/process/(毫不奇怪)。

我想向流程操作提交一个非常简单的表单,作为与某些现有Java库集成的第一步。

将GET请求发送到http://localhost:8080/frontend/add/process/会导致调用流程操作,并使浏览器显示相关的简单HTML内容。

将POST请求发送到http://localhost:8080/frontend/add/process/会返回HTTP 404错误。

我很感谢我在应用程序中缺少一些基本的补充,因此上述操作适用于GET和POST请求。我假设默认情况下,请求类型不会有问题。

如果能将POST请求发送到适当的操作并呈现一些标记以证明事情正在进行,那么我在这一阶段会感到非常高兴。

我错过了难题中的哪些基本要素?

controllers / frontend / AddController.groovy:

package frontend

class AddController {

def index = { }

def process = {
render "<h1>process action being performed</h1>"
}
}

View /添加/ 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>

最佳答案

<g:actionSubmit />指令需要action属性来指示要处理的 Action 。我认为表单 Action 就足够了。

我需要更改:

<g:actionSubmit value="Add" />

至:
<g:actionSubmit value="Add" action="process" />

关于grails - Grails操作适用于GET请求,针对POST请求返回404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4925449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com