网址映射是链接的重要功能,但它们也适用于表单吗?
假设我们有一个这样的映射:
"/map/$a" {
controller="form"
action="show"
}
<g:link controller="form" action="show" params="[a:'test'] />
现在将被重写为<a href="/appname/map/test" />
但是这样的形式:
<g:form controller="form" action="show">
<g:textField name="a" />
</g:form>
不会有相同的效果。这将导致请求
/appname/form/show?a=whatever
我知道无法像链接那样在HTML创建时重写表单-主要是因为此时尚不知道参数的值,但是我希望将此URL重定向到“nice” URL。
有没有办法在grails中做类似的事情?还是我必须编写自己的重定向?
最佳答案
就像您提到的,由于参数值未知,无法在页面呈现时完成此操作。另外,您可以想象一旦超出一个表单域,随之而来的问题。
您可以编写一些JavaScript来在onSubmit中创建漂亮的URL,或者如果您在整个地方都做了一些事情,则可以创建自定义标签。
关于forms - 网址映射和表单-它们如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9419600/