XPage:处理浏览器后退按钮

2024-04-23

我为 Notes 表单创建了一个 XPage。我添加了一个编辑按钮,用于执行一些逻辑,然后将文档模式切换为“编辑”,以及一个保存并关闭按钮,用于保存文档并重定向到 Notes 视图的 XPage。

这工作正常,但是当返回视图后按下浏览器后退按钮时,文档会再次以编辑模式显示。是否可以以只读模式返回文档?

因为按下编辑按钮时会执行一些逻辑,并且我需要确保当用户通过浏览器后退按钮返回到文档时也执行该逻辑,而不是在不执行逻辑的情况下直接跳转到编辑模式。


忽略请求参数对我来说不是一个选择。

我通过禁用客户端浏览器缓存(=强制客户端浏览器每次重新加载页面而不是显示页面的缓存版本)并添加“编辑模式是通过编辑按钮输入的吗?”来解决这个问题。查看。

beforeRenderResponse:禁用该页面的浏览器缓存

var response:java.lang.Object = facesContext.getExternalContext().getResponse();
response.setHeader("Expires", "Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past (= expired)
response.setHeader("Pragma", "no-cache"); // HTTP/1.0
response.setHeader("Cache-Control", "no-store"); // HTTP/1.1

页面加载之前: 检查是否通过编辑按钮进入编辑模式。 如果不是,请更改为只读模式

if (!<was edit-mode entered via edit-button?>) {
    var pagePart:string = view.getPageName() + "?";
    var documentPart:string = "documentId=" + context.getUrlParameter("documentId");
    var actionPart:string = "&action=openDocument";
    context.redirectToPage(pagePart + documentPart + actionPart);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XPage:处理浏览器后退按钮 的相关文章

  • 我希望我的 Domino Servlet 获得经过身份验证的用户会话

    这似乎是一个非常基本的问题 在 Domino 上托管的正在运行的 Servlet 中 我想要访问 Domino 资源 我已经使用 IBM Notes 和 Domino 的非常精细的安全性明智地保护了这些资源 我希望 Servlet 能够向
  • 打开时仅展开 viewPanel 中的一些分类列

    我正在使用 ViewPanel 来显示分类视图 该视图有 4 列类别 总计还有 3 个附加列 我想打开此视图 以便展开前 3 个分类列 并折叠第 4 个分类列 是否有某种类型的 SSJS CSJS 我可以添加到可以执行此操作的视图中 在 v
  • 我的 xpages 上仅在午夜为用户调整日期

    我们在 xpages 中遇到了一个关于日期的非常奇怪的问题 我们的 Notesdocument 包含一个日期字段 并且该值只是一个日期 没有时间部分 在 xpage 中 我已指定将日期显示为日期 时间值 网页上的日期显示正确 但我们现在收到
  • 如何使用 XPage Java 代码在自定义控件内设置输入控件的有效方法?

    好吧 这很奇怪 在 XPage 中 我的数据源是一个 Java 对象 托管 bean 或 PageController 我通过 Ext 来使用引导程序 图书馆 我想要做的是将所有验证代码保留在 Java 对象中 而不是将任何内容附加到 XP
  • 将 inputRichText 绑定到 Bean

    我试图将 xp inputRichText 绑定到 bean ChatBean 但是当代码尝试将字段更新到 bean 时出现此验证错误 java lang IllegalArgumentException argument type mis
  • 从视图列检索数据时如何避免 64k 限制?

    我知道 SSJS 版本 DbColumn 与原始 Formula 语言版本具有相同的 64k 限制 所以到目前为止我用过NotesView getColumnValues 相反 相信在这里我不会面临这样的限制 正如昨天的紧急支持电话告诉我的
  • 如何阻止用户在 XPages 中打开新的浏览器会话

    我有一个前端文档锁定过程 它创建一个包含 UNID 用户名 时间的应用程序范围变量 然后是一个每 30 秒更新此信息的计时器 如果有人尝试打开文档进行编辑 我会检查 使用 UNID 看看其他人是否拥有该文档 如果时间大于 30 秒 我会取消
  • POI 4 XPage - 文档生成只能运行一次

    好吧 说实话 标题并没有说出全部真相 我正在使用带有多个按钮 保存 关闭 编辑等 和一个执行 POI 操作的按钮的自定义控件 它生成一个 Word 文件 我在这里遇到一个问题 点击 POI 按钮后 我的其他按钮 以及 POI 按钮 将不再工
  • 确定已定义用户的所有组

    我目前正在创建一个java方法 XPage托管bean的一部分 来检索用户 不一定是当前用户 所属的列表组 是否有任何简单的方法来检索此信息 或者我是否必须遍历所有组来检查用户 并检查这些组是否是其他组的子组 在博客文章中回答了这个问题 h
  • 如何在 XPage 中隐藏带有
  • 标记的菜单项
  • 我有一个基于这个惯例的传统菜单 ul li li ul
  • 如何从phonegap获取图片到远程XPage?

    我在 iPad 上构建了版本 1 6 的 Phonegap 应用程序 将 ulr 设置为 Domino 服务器上的 XPage 现在我的问题 当我在 iPhone 上拍照并将其上传到我的 XPage 时 使用该功能takePicture 返
  • java.lang.ClassCastException: someClass 与 someClass 不兼容的含义

    我在 XPage 应用程序中偶尔遇到异常 java lang ClassCastException someClass incompatible with someClass 两个提到的类是相同的 都是用作会话bean的类 我无法用谷歌搜索
  • 在视图导出中获取摘要计数?

    我需要将视图导出到 Excel 我已经在某处找到了一些代码 它在 xpages 中运行得很好 现在用户想要添加总计摘要 我会解释 我有一个包含用户名 项目 ID 和设备 ID 的文档 我需要做的是导出具有特定项目 ID 的所有文档 在导出中
  • 将 MIME 转换为 RichText

    我想转换多米诺骨牌文档字段Data Type MIME Part into a Data Type Rich Text in backend with SSJS or Java 我尝试过与 doc computeWithForm true
  • 多数据库应用程序的访问控制

    我有一个 mainDB nsf 其中包含所有 XPage 设计 代理 脚本库等 用户从该数据库中选择一个应用程序 可能存在一个或多个应用数据库 每个应用程序数据库都包含应用程序的实际数据 以及在 mainDB 中的自定义控件中访问的数据的视
  • 在 xPages 中使用数据上下文有什么好处?

    我从未在 xPages 中使用过数据上下文 想了解其好处 如果我想返回内存中的某些内容 我经常调用 SSJS 脚本库中的函数 我相信该脚本库也存储在内存中 假设我在 ssjs 中有一个返回 Notesdocument 的函数 这个函数可能会
  • 我如何知道 viewScope 变量是否已初始化

    在应用程序中 我需要知道 viewScope 变量是否已初始化 创建 viewScope 变量时 该值可能为 null 所以 viewScope isEmpty SomeName 并没有告诉我它已经被初始化并且答案为 null 或者它还没有
  • 重新初始化 JQuery 有 XPage 部分刷新更新 DOM

    我有一个来自核心控件的选项卡式面板 里面是一个
  • 页面加载时显示扩展库对话框?

    有没有办法在我的页面加载时显示扩展页面对话框 Add a
  • 我可以在 dojo 手风琴中打开特定条目吗?

    我想在应用程序的左侧导航中放置链接 打开 xPage 并选择特定的手风琴条目 不知道该怎么做 有什么想法吗 我在这里假设您想以编程方式执行此操作 看看这个答案 https stackoverflow com a 1190455 104799

随机推荐