問題
これは、別のアプローチを見つけようとしている昨日の (未回答の) 質問 (こちらを参照) のフォローアップです。
基本追加しました
<error-page>
<error-code>404</error-code>
<location>/404search.jsf</location>
</error-page>
..私にweb.xml
。404search.jsf
検索機能に送信するためにユーザーが入力した URL を取得する必要がありますが、ユーザーが入力した実際のクエリではなく、現在の URL (この場合は ... ) しか取得できません。
試み
HttpServletRequest.getRequestURL
戻り値http://www.website.com/foldername/404search.jsf
HttpServletRequest.getRequestURI
戻り値/foldername/404search.jsf
HttpServletRequest.getQueryString
何も返さない
返してほしい/foldername/wrong-url-the-user-entered#anchor-if-there-is-any
詳細...
アイデアは、ユーザーが入力した URL (www.site.com/product/99999-product-that-cant-be-found
または など) を取得し、それを REGEX してハイフンを削除し、 orwww.site.com/faq/support-question-that-doesnt-exist
を使用して検索クエリを実行することです。99999 product that cant be found
support question that doesnt exist
助言がありますか?