如何重定向到 Grails 应用程序中上次访问的页面?

2024-01-08

我是 Grails 的新手,我正在努力解决许多简单的问题。

例如,当我从页面顶部布局上显示的模板视图登录/注销时,我尚未找到返回上次访问页面的正确方法。

我解决此问题的最后一次尝试是将 ${params.controller} 和 ${params.action} 保存在发送到注销操作的参数中,然后重定向。好吧……即使这样也失败了。 这是 gsp 片段:

<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>

但我实在不明白其中的原因...

编辑2: 我还找到了重定向到上次访问页面的解决方案:

redirect(url: request.header('referer'))

但不幸的是,在登录后执行此操作时,我的页面中呈现的内容是重复的。有什么想法或其他安全的解决方案吗?


我正在使用这个控制器端:

    redirect(uri: request.getHeader('referer') )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重定向到 Grails 应用程序中上次访问的页面? 的相关文章

  • Grails 脚手架 - 为域类的此属性定义可能的值

    我是 Grails 新手 我有一个 Person 域类 class Person String firstName String lastName String gender Date dateOfBirth 想知道我是否可以为属性定义可能
  • Rails 和 Authlogic:每个用户只允许一个会话?

    有没有办法限制 Ruby on Rails 应用程序中的会话数量 我使用 Authlogic 进行身份验证 我希望每个用户帐户只允许 1 个会话 当同一用户登录另一台计算机时 先前的会话应该过期 失效 我正在考虑将会话数据存储在数据库中 然
  • 使用 SenchaTouch 的简单登录表单

    刚开始研究 SenchaTouch 这看起来很有前途 我正在构建我的第一个应用程序 一个简单的登录表单检查源http pastebin com 8Zddr9cj http pastebin com 8Zddr9cj 我正在寻找一种方法来执行
  • 在 Django Admin 中隐藏 Auth 部分 [重复]

    这个问题在这里已经有答案了 在 Django 管理中 有什么方法可以隐藏 Auth 部分吗 假设这是 Django 和准系统项目的全新安装 没有应用程序 只有管理员 您可以使用admin site unregister from djang
  • Tomcat:模块版本冲突。模块 [groovy-all 已在版本 2.3.7 中加载,而您正在尝试加载版本 2.4.3

    我有一个 jenkins 构建服务器来构建我的 grails 项目 我最近更新到 grails 2 5 0 和 groovy comiler 2 4 3 到目前为止 一切都很好 詹金斯再次发动战争 但是当我在 Tomcat 上部署战争时 出
  • 如何阻止 Firefox 在本地开发服务器上强制使用 https://?

    我正在使用 AMPPS 在 Macintosh 上运行开发环境 我有一个包含项目文件的文件夹 我已将其添加到我的hosts file 127 0 0 1 www example com 我已经相应地设置了虚拟域 当我尝试使用 Firefox
  • 在 Django 中 AJAX 发布后重定向

    我使用 Django 的内置 DeleteView 并为success url属性 现在在我的模板中 我通过 JQuery 的 post 方法触发此视图 当该项目被删除时 我不会被重定向到success url 经过一番查找 发现好像是AJ
  • Grails 测试中的模拟配置

    在 Grails 2 0 X 之前 可以使用mockConfig测试扩展的基类提供的方法 然而 在 Grails 2 0 X 中 建议测试类使用 TestFormixin 而不是扩展基类 这个 mixin 似乎没有提供任何与mockConf
  • 如果 CodeIgniter 方法不存在,则重定向到默认方法。

    我正在使用 CodeignIter 并且正在寻找一种在被调用方法不存在时为单个控制器编写自定义处理例程的方法 假设你打电话www website com components login In the components控制器 没有一个方
  • grailsGrails 单元测试中的应用程序访问

    我正在尝试为使用 grailsApplication config 进行一些设置的服务编写单元测试 看来在我的单元测试中 服务实例无法访问其设置的配置文件 空指针 而当我运行 run app 时它可以访问该设置 我如何配置服务以在单元测试中
  • 如何使用多重身份验证 - firebase?

    我有一个注册屏幕 其中包含 用户名 电子邮件 电话号码 密码 在本例中 我使用电话号码身份验证来验证号码 因此在用户验证他的号码后 我将他的数据保存到 firebase DB 中 所以在那之后 我将下摆导航到登录屏幕 应该包含电子邮件 密码
  • 使用 Keycloak-proxy 进行 Zabbix HTTP 身份验证

    我尝试使用 keycloak proxy 将 Zabbix UI 与 Keycloak SSO 集成 我的设置如下 Nginx 是入口点 它处理 虚拟主机 将请求转发到 keycloak proxy Keycloak proxy配置了cli
  • 调试 Bootstrap.groovy 的最佳方法是什么?

    我正在将一些数据插入数据库 但即使我看不到任何验证错误 某些对象也没有插入 使用 stacktrace 或 sql 出错的最佳方法是什么 以便我可以找出问题所在 例如我这样做 new XXXXX property blah save flu
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • SharePoint Online 身份验证失败

    我有一个 C 应用程序 它通过使用 Web 请求对 SharePoint Online 进行身份验证 它对我来说非常有用 但其他人收到以下错误
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • Firebase GAS webapp Google 弹出窗口消失

    我正在尝试升级我的 firebase GAS web 应用程序 之前我有一个弹出窗口 可以让用户使用 Google 登录 我不确定我做错了什么 但我已经升级到新的 firebase 现在正在尝试使用新的代码格式进行相同的登录 发生的情况是
  • 直接链接到普惠制

    在一个普惠制中 是否可以创建到另一个普惠制的直接链接 我知道我可以使用
  • Apache 从子域重写为 www 但保留所有永久链接

    我已经研究了大约 2 个小时 虽然大多数主题都很相似 但没有一个解释如何做我想做的事情 我正在将一个结构为 blog domain com 的博客移至 www domain com blog 当我重定向时 我需要保留博客文章的永久链接 所以
  • 使用 Apache HTTPd 模块的 OAuth 2.0 身份验证

    是否可以使用 Apache HTTPd 服务器模块来实现 OAuth 2 0 或 1 0 我选择这条路线是因为每个请求都会首先到达 HTTPd 模块 因此我必须从那里进行身份验证 如果可能的话 请分享相关链接 我要补充一下尤金尼奥的答案mo

随机推荐

  • 脚本内的 match_query ? [弹性搜索]

    我有一个相当复杂的聚合 它的复杂性是由于缺少 has parent 聚合引起的 既然如此 它是使用groovy 实现的 我遇到的唯一问题是过滤聚合中计数的文档 聚合看起来像这样 https gist github com serj p c4
  • 将自定义字段添加到课程 Moodle [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 Moodle 新手 我需要您的建议来创建插件 该插件将在 添加 编辑课程 页面上添加自定义字段 并将输入值存储在mdl cour
  • Angular 2 SVG 未渲染

    我创建了一个组件来渲染我的应用程序中的 SVG 图像 它们是动态加载的 但是 我的演示应用程序仅显示一个更简单的版本 http plnkr co edit g2tZXeUAMJ5zESx2EHT0 p info http plnkr co
  • 如何旋转 UIWebView 嵌入视频

    所以我正在构建的应用程序遇到了这个问题 我无法弄清楚 我的应用程序具有以下结构 UITabBarController gt UIViewController gt UIViewController 最后一个视图控制器包含一个加载整个页面的
  • 如何使用 System.DirectoryServices.Protocol 验证用户名/密码?

    首先 我不能使用活动目录 所以我不能使用System DirectoryServices直接地 这将是一台向 Novell 网络发送查询的 PC 其中仅System DirectoryServices Protocol是支持的 我非常确定我
  • 在 Swift 2 中安排特定时间的本地通知

    我浏览过这些论坛和其他网站 但不断得到一些不合逻辑的答案 本质上 我想创建一个在每个工作日的上午 6 28 中午 12 28 和下午 5 28 触发的通知 我有一些解决方案 但我真的不确定该去哪里 我的设置完全正确吗 任何帮助表示赞赏 le
  • 使用 Swift 创建随机图像生成器

    我试图让随机图像出现在屏幕上 但我是 Swift 新手 不知道如何做到这一点 打开应用程序时 我希望在图像视图中随机显示三张图像 我该怎么做呢 生成 0 到 2 之间的随机数 并通过随机生成的数字显示图像 var random arc4ra
  • ASP.NET 会话 - 使用或不使用电子商务应用程序以及最佳实践

    我在大多数 Intranet 场景中使用过 ASP NET 并且非常熟悉它 但对于诸如购物车或类似会话数据之类的东西 有多种可能性 仅举几例 1 状态服务器会话 2 SQL Server 会话 3 自定义数据库会话 4 饼干 您使用了什么以
  • SymPy 虚数

    我正在编写一些 SymPy 代码来处理带有虚数的符号表达式 首先 我想让它把 x 和 y 作为实数并找到 x iy 的解 所以我可以按如下方式执行此操作 x y sympy symbols x y real True print sympy
  • 如何将连接字符串中的“提供商名称”添加到上下文文件中?

    我正在使用 Entity Framework 5 代码优先方法 这是我的上下文文件 using IMS Domain Inventory using IMS Domain Security using IMS Domain StoredPr
  • 如何重定向“time”命令的输出?

    我尝试重定向 time 命令的输出 但我不能 time ls gt filename real 0m0 000s user 0m0 000s sys 0m0 000s 在文件中我可以看到输出ls命令 而不是time 请解释一下为什么我不能以
  • 如何更改 TabHost 中的选项卡图像

    我在应用程序中使用 TabHost 在应用程序中使用四个选项卡 并且当选择特定选项卡和未选择特定选项卡时 我想在 TabHost 中使用不同的图像 我需要为每个特定选项卡使用不同的图像 当我选择任何选项卡时 图像有点亮 当我切换到另一个选项
  • 为不同平台创建独立的 Java 可执行文件,无需安装

    我使用 jlink 创建了一个 Java 应用程序运行时映像 我希望能够将软件作为可执行文件发送到不同的平台 最好是在一个平台上构建 例如交叉编译 理想情况下 它是一个用户可以双击启动的应用程序文件 而无需安装任何东西 如何才能做到这一点
  • 如何在 SQL Server 中比较两列是否相等?

    我有两列根据某些条件连接在一起 但我还想检查其他两列是否相同 然后返回一个位字段 如果相同 有没有比使用 CASE WHEN 更简单的解决方案 理想情况下我可以使用 SELECT Column1 Column2 AS MyDesiredRe
  • 制作一门语言,需要一个好的后端

    我想做一种编译语言 我目前正在评估后端 到目前为止 我之所以关注 C 是因为它的执行速度 编译速度以及一个名为 TCC 的小型且易于使用的编译器 阅读了这里关于将其用作中间语言的讨论后 我正在尝试思考如何使其与垃圾收集兼容并处理异常 到目前
  • 元素必须是 根元素的直接子元素

    我正在尝试运行我的 Android 应用程序 但出现以下错误 该元素必须是根元素的直接子元素 并且元素类型 应用程序 必须由匹配的结束标记 终止 有人能给我写一个 正确 的版本吗 谢谢 这是我的清单文件
  • 无法连接到 SQL 数据库 - C#、VS2012、SQL Server 2012

    我的 Windows 7 64 位 PC 上安装了 SQL Server 2005 2008 和 2012 这是我的配置管理器 我确实看到代理已停止 不确定是否需要这样做 我把它分成两幅图像 这样尺寸就显示得更大 以下是 VS2012 数据
  • 如何以编程方式创建android形状背景?

    如何以编程方式创建这个形状
  • 修剪 Xcode 中的尾随空格

    有没有办法在我保存文件时强制 Xcode 修剪尾随空格 如果重要的话 我正在使用版本 3 1 3 从 Xcode 4 4 开始 默认情况下将自动修剪空格 除非该行全是空格 您还可以激活Including whitespace only li
  • 如何重定向到 Grails 应用程序中上次访问的页面?

    我是 Grails 的新手 我正在努力解决许多简单的问题 例如 当我从页面顶部布局上显示的模板视图登录 注销时 我尚未找到返回上次访问页面的正确方法 我解决此问题的最后一次尝试是将 params controller 和 params ac