我是Grails的新手,我很困扰很多简单的问题。如何重定向到Grails应用程序中上次访问的页面?
例如,当我从页面顶部布局中显示的模板视图登录/注销时,我还没有设法找到正确的方式返回上次访问的页面。
我最后一次尝试解决这个问题的方法是将参数$ {params.controller}和$ {params.action}保存到发送到注销操作的参数中,然后重定向。那么......即使这个失败了。 这里是普惠制片段:
<g:link controller="user" action="logout" params="[currentController: ${params.controller}, currentAction: ${params.action}]">Logout</g:link>
这最后的代码行抛出以下异常:
ERROR errors.GrailsExceptionResolver - Error evaluating expression [[currentController: ${params.controller}, currentAction: ${params.action}]]
所以我的问题是:
1 - 我该如何重装后的最后访问的网页登录/注销操作?
2 - 为什么我上面的代码有异常?
谢谢
编辑: 关于问题#2,似乎下面的代码工作:
<g:link controller="user" action="logout" params="[currentController: params.controller, currentAction: params.action]">Logout</g:link>
但我真的不明白其中的道理......
EDIT2: 我还发现了一个解决方案,重定向到最后访问的网页:
redirect(url: request.header('referer'))
但不幸的是,当登录后执行此操作时,我的页面中呈现的内容被复制。任何想法或任何其他安全解决方案?
丹尼尔嗨, 非常感谢您为您的aswer。你帮了我很多! – fabien7474 2009-09-22 14:39:44
@ daniel-rinser你的答案似乎只能通过一次刷新。你会如何建议处理如下: Page0->第1页 在表格W输入数据/错误 重定向回第1页与flash.errors 输入表单数据正确 应该得到重定向回页0 而是会发送到“/ 'as request.forwardURI()/ targetURI is“” – rik 2015-01-14 21:10:45
为什么应用程序的相对URI?完整的Url有什么问题? – 2015-06-15 12:28:33