4

PrettyFaces は非常にシンプルな URL 書き換えエンジンです。あらゆる種類のSEOが可能で、本当に簡単です。ただし、小さな問題が 1 つあります :(

きれいな顔を使用して、次の書き換えルールがあります。

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

したがって、URL バーは次のようになります。

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

また、書き換えルールは、リクエストを内部的に次のようにマップします。

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

私は OpenID を実装しています。つまり、OpenID プロバイダーに戻り先 URL を提供する必要があります。ただし、次のことを行うと:

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

私は得る:

http://host.com/blogEntry.jsf

getQueryString() は空の文字列を返します

純粋な URL を取得する方法、http://host.com/blog/first-postまたは少なくともクエリ文字列を取得する方法を知っている人は誰でもshortUrl=first-post

4

1 に答える 1

7

次を使用できます:PrettyContext.getCurrentInstance().getRequestUrl().toURL()およびPrettyContext.getCurrentInstance().getRequestQueryString().toQueryString()

同様のフォーラム投稿:http: //ocpsoft.org/support/topic/how-get-the-original-request-uri-from-jsf

于 2012-08-12T06:40:19.697 に答える