JSF2 和 PrettyFaces...如何获取原始 URL 或查询字符串?

2024-01-02

PrettyFaces 是一个极其简单的 URL 重写引擎。各种 SEO 都是可能的真的真的很容易。不过我有一个小问题:(

使用漂亮的面孔,我有这个重写规则:

<url-mapping id="blogEntry">
    <pattern value="/blog/#{shortUrl}" />
    <view-id value="/blogEntry.jsf" />
</url-mapping>

所以地址栏看起来像:

http://host.com/blog/first-post

重写规则将请求内部映射到:

http://host.com/blogEntry?shortUrl=first-post

我正在实现 OpenID,这意味着我需要为 OpenID 提供者提供一个返回 URL。但是,当我执行以下操作时:

originalUrl = Faces.getRequest().getRequestURL().toString()

I get:

http://host.com/blogEntry.jsf

getQueryString() 返回一个空字符串

任何人都知道获取 purty URL 的方法:http://host.com/blog/first-post或至少查询字符串shortUrl=first-post


您可以使用:PrettyContext.getCurrentInstance().getRequestUrl().toURL() and PrettyContext.getCurrentInstance().getRequestQueryString().toQueryString()

类似论坛帖子:http://ocpsoft.org/support/topic/how-get-the-original-request-uri-from-jsf http://ocpsoft.org/support/topic/how-get-the-original-request-uri-from-jsf

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

JSF2 和 PrettyFaces...如何获取原始 URL 或查询字符串? 的相关文章

随机推荐

  • 我可以仅将 Python .pyc 文件部署到 Google App Engine 吗?

    我正在开发一个在 Google App Engine 上使用 Django 的项目 有人问我是否可以将某些代码仅部署为已编译的 所以我想问题是我可以上传一个仅包含相关代码片段的 pyc 文件吗 我已经在应用程序中使用views pyc 文件
  • 哪种类型特征表明该类型是 memcpy 可分配的? (元组、对)

    我想知道我可以执行什么类型自省来检测可通过简单的原始内存复制分配的类型 例如 据我了解 内置类型 内置类型的元组和此类元组的元组都属于此类 动机是如果可能的话我想传输原始字节 T t1 not necessarely default con
  • 创建 (ES6) 承诺而不开始解决它

    使用 ES6 Promise 如何在不定义解决逻辑的情况下创建 Promise 这是一个基本示例 一些 TypeScript var promises function waitFor key string Promise
  • Visual Studio 2013 中的“新建项目”对话框中缺少项目模板

    当我点击文件 gt 新建 gt 项目在 Visual Studio 2013 中 不存在任何项目模板 但是 在解决方案文件中 显然是在 Visual Studio 的另一个版本中创建的 当我尝试时 添加 gt 新项目 所有模板都在那里 我想
  • Swift 中的强引用和弱引用

    在 Objective C 中 您可以将属性定义为具有强引用或弱引用 如下所示 property strong property weak 这是如何快速完成的 直接从斯威夫特语言指南 https developer apple com li
  • MainActivity 关闭后停止服务(已编辑)

    我认为我根本不清楚 我确实希望该服务能够持续存在 即使主要活动通过用户操作被破坏或Android系统这样做 它做得很好 但是当应用程序在某个时刻重新打开时 我会想要检查如果背景活动存在并使用操作按钮停止它 请提前谢谢 我启动了后台服务 在我
  • 我需要做什么才能让 Hash.from_xml() 工作?

    我在代码中安装了 ActiveSupport 并需要 active support 但是当我尝试使用Hash from xml method 我缺少什么 gem list returns LOCAL GEMS activesupport 3
  • 如何从另一个变量名创建变量? [复制]

    这个问题在这里已经有答案了 好的 在 php 中我该怎么做 给定以下场景 array of letters var letters array a b c loop through array and create empty arrays
  • 在最接近的日期合并数据框

    我有一些实验的一些数据 按主题 ID 和日期索引 我想将数据连接在一起 但受试者可能在不同的日子进行实验 这是我的意思的一个例子 下图是两个不同实验的结果 SubjectID Date ScoreA 1 2016 09 20 10 1 20
  • Java 10 'var' 和继承

    经过审查后var所见特征here http openjdk java net jeps 286 我在使用 JDK 10 设置 Eclipse IntelliJ IDEA IDE 时遇到了困难 因此向拥有 Java 10 工作环境的 Stac
  • POSIX 目录名的 PowerShell 等效项

    这个问题 https stackoverflow com questions 778135 how do i get the equivalent of dirname in a batch file询问如何在批处理脚本中获取路径的目录名称
  • 将csv数据转换为特定格式的嵌套json

    将 csv 数据转换为 json 并添加新的字段名称 parsed address 并基于地址类型值将放置在 parsed address 字段中 我可以创建 parsed address 字段并将地址列放置在其下方 但地址字段应根据 ad
  • 引导程序文件的示例?

    有谁有一个很好的引导程序类示例 我可以看到以供参考 我似乎找不到任何地方 搜索谷歌但没有运气 搜索了帮助文件 没有运气 如果您正在搜索在应用程序开始时配置容器的类 您可以下载最新的Prism http compositewpf codepl
  • PHP 应用程序的单元、集成和系统测试 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们接到一项任务 为客户社区开发原型 有人建议 PHP 作为编程语言 但我们不应该实际编码它 只需要一个带有文档的原型 我想知道这样的
  • 如何向 C# 控制台应用程序添加计时器

    就是这样 如何向 C 控制台应用程序添加计时器 如果您能提供一些示例编码 那就太好了 这非常好 但是为了模拟一段时间的流逝 我们需要运行一个需要一些时间的命令 这在第二个示例中非常清楚 然而 使用 for 循环执行某些功能的方式永远会占用大
  • 找到图像中每个像素最接近的 RGB 颜色

    我正在使用 NumPy 进行一些图像处理 我将图像加载到数组中并获取每个像素的 最近 颜色 如下所示 rgbValues is a global list with 22 RGB values def getNearestColor rgb
  • 在SVG中绕其自身中心旋转矩形

    我有以下代码
  • 如何在 Ubuntu/Debian 上安装特定版本的 Node?

    我想在 Ubuntu 12 04 上安装 NodeJS 版本 0 8 18 我尝试安装最新版本 然后使用恢复到 0 8 18nvm 但是当我运行我的代码时 显然安装的软件包和两个版本 最新和 0 8 18 存在一些问题 由于我不知道如何解决
  • Android 开发人员 - 警报管理器与服务

    我正在制作一个应用程序 即使应用程序关闭 也需要每小时执行一个函数 首先 我想创建一个服务 但是在我的测试过程中 我意识到android有时会杀死我的服务 所以我正在寻找另一个解决方案 然后我找到了 AlarmManager 我已经实现了它
  • JSF2 和 PrettyFaces...如何获取原始 URL 或查询字符串?

    PrettyFaces 是一个极其简单的 URL 重写引擎 各种 SEO 都是可能的真的真的很容易 不过我有一个小问题 使用漂亮的面孔 我有这个重写规则