Grails应用程序中格式良好的URL

时间:2013-02-06 11:56:44

标签: grails

我有一个注册用户的应用程序。我让用户通过各种页面,每个人都从用户那里获取一些数据,这些信息存储在会话中,只有在最后一页,数据才会存储在DDBB中。

当用户完成第一页时,他点击“下一步”按钮:

<div class='btn_sig_pag_uno'>
                <!--  <fieldset id="barra">-->
                <g:actionSubmit action="registro2"
                    title="${message(code:'infoPersonal.siguiente') }"
                    name="siguiente" class="siguiente"
                    value="${message(code: 'infoPersonal.siguiente', default: 'Siguiente')}"
                    style="cursor:pointer" />

                <!--  </fieldset>-->
            </div>

在控制器中,在动作“registro2”中验证用户引入的数据,并显示“registro2.gsp”...但是呈现的URL与第一页中的URL相同。我希望它是控制器/动作......并且不知道为什么网址不会改变。

有任何帮助吗?谢谢!

2 个答案:

答案 0 :(得分:0)

您需要做的是创建一个动作以显示registro2.gsp,然后在执行registro2之后执行重定向:

redirect(action: "showRegistro2")

这样URL就会改变。

答案 1 :(得分:0)

我认为这是表单的工作方式,以及Grails处理actionSubmit的方式。表单提交默认为POST。由于POST是关于发送数据(而不是去某个地方,例如像GET),因此URL保持不变。

您可以将表单更改为使用method =“GET”,但我不认为这会在使用Grails的actionSubmit时得到您想要的内容,因为它仍使用相同的URL(但使用?_action_actionSubmitActionName = param作为URL参数)

通常,您只需重定向到另一个操作,即接收表单POST的操作:

redirect(action: "registroFinished")

最终结果有一个registroFinished.gsp。