Forms 如何在grails表单中使用两个点使用准确的url提交表单?

Forms 如何在grails表单中使用两个点使用准确的url提交表单?,forms,grails,Forms,Grails,我有一张像这样的表格 <g:form url="../sodaProduct/addProduct"> // </g:form> 但是如果我用两个点的形式表示 url是这样构造的 http://localhost:8080/VendorMachine/sodaProduct/sodaProduct/addProduct 有人能解释一下,什么是正确的方法吗?从你的解释来看,第一种方法似乎是最合乎逻辑的。请记住,Grails是按照MVC框架设计的,因此您应该向

我有一张像这样的表格

<g:form url="../sodaProduct/addProduct">
      //
</g:form>
但是如果我用两个点的形式表示

url是这样构造的

http://localhost:8080/VendorMachine/sodaProduct/sodaProduct/addProduct

有人能解释一下,什么是正确的方法吗?

从你的解释来看,第一种方法似乎是最合乎逻辑的。请记住,Grails是按照MVC框架设计的,因此您应该向控制器提交表单。您可以通过使用控制器和动作属性来指定这一点

<g:form controller="sodaProducts" action="addProduct">
    //
</g:form>

这将为您生成一个URL,并可能使您的生活更轻松。此外,它使用户更容易跟踪从视图返回控制器的信息流。请记住,Grails的全部要点是您不会陷入这些细节中。

这是一项很容易做到的任务。。。既然你已经体验过,你也应该以这种方式体验

得到

http://localhost:8080/VendorMachine/sodaProduct/addProduct
简单地使用这个:

<g:form url="../addProduct">
      //
</g:form>

但这可能会产生问题。

@Suganthan我不明白为什么这会改变任何事情。当通过Javascript提交表单时,您不需要URL,您可以调用由g:form标记生成的表单元素上的submit方法。给表单一个name属性,并在Javascript中将其用作id。
<g:form url="../addProduct">
      //
</g:form>