Grails 2.x 提交带有附加参数的表单
Grails 2.x submit form with additional parameters
我是 grails 的新手,我想制作一个表单,在 gsp 中提交表单参数和其他参数
gsp 看起来像这样:
<g:form url="action:'myAction',controller:'myTerms', params:[params: params, myCheckbox: myCheckbox]">
<p><g:checkBox id="myCheckbox" name="myCheckbox" value="true" checked="checked"/><g:message code="terms.agree"/><a style="color: #ed1c24" href="/xyz"><g:message code="terms.termsConditions"/></a><g:message code="terms.ofService"/></p>
<g:actionSubmit value="Subscribe" />
</g:form>
它应该提交给名为 MyTermsController
的控制器执行以下操作:
def myAction(){
if(/*condition 1*/){
try{
//code
if (/*condition 2*/) {
//more code
}
}catch (AlreadyPurchasedException ape){
redirect(controller: "controllerA", action: "showXhtml", params:params)
}
redirect(controller: "controllerB", action: "handlePaymentXhtml", params: params)
}else if(/*condition 3*/){
redirect(controller:"controllerC", action:"purchaseXhtml", params:params)
}
}
我想做的是在不使用 javascript.
的情况下提交带有参数的表单
现在每次我按下提交时,应用程序都会被重定向到错误页面,告诉我找不到该页面。
谁能告诉我我哪里错了missing/doing?
我认为问题出在 form
url
属性中的语法,您可以尝试以下方法:
<g:form controller="mTerms" action="myAction">
此外,您无需专门提交 params
或 myCheckbox
,因为它们会自动提交。
如果您想提交额外的值,您可以像这样使用展开运算符:
<g:form controller="mTerms" action="myAction" params="[aKey: 'aValue', *:params]">
最后我认为你需要使用 g:submitButton
而不是 g:actionSubmit
<g:submitButton value="Subscribe" name="subscribe" />
我是 grails 的新手,我想制作一个表单,在 gsp 中提交表单参数和其他参数
gsp 看起来像这样:
<g:form url="action:'myAction',controller:'myTerms', params:[params: params, myCheckbox: myCheckbox]">
<p><g:checkBox id="myCheckbox" name="myCheckbox" value="true" checked="checked"/><g:message code="terms.agree"/><a style="color: #ed1c24" href="/xyz"><g:message code="terms.termsConditions"/></a><g:message code="terms.ofService"/></p>
<g:actionSubmit value="Subscribe" />
</g:form>
它应该提交给名为 MyTermsController
的控制器执行以下操作:
def myAction(){
if(/*condition 1*/){
try{
//code
if (/*condition 2*/) {
//more code
}
}catch (AlreadyPurchasedException ape){
redirect(controller: "controllerA", action: "showXhtml", params:params)
}
redirect(controller: "controllerB", action: "handlePaymentXhtml", params: params)
}else if(/*condition 3*/){
redirect(controller:"controllerC", action:"purchaseXhtml", params:params)
}
}
我想做的是在不使用 javascript.
的情况下提交带有参数的表单现在每次我按下提交时,应用程序都会被重定向到错误页面,告诉我找不到该页面。
谁能告诉我我哪里错了missing/doing?
我认为问题出在 form
url
属性中的语法,您可以尝试以下方法:
<g:form controller="mTerms" action="myAction">
此外,您无需专门提交 params
或 myCheckbox
,因为它们会自动提交。
如果您想提交额外的值,您可以像这样使用展开运算符:
<g:form controller="mTerms" action="myAction" params="[aKey: 'aValue', *:params]">
最后我认为你需要使用 g:submitButton
而不是 g:actionSubmit
<g:submitButton value="Subscribe" name="subscribe" />