問題:
レポート、具体的にはレポートのテーブル本体を生成するサーブレットがあります。これはブラック ボックスであり、ソース コードにはアクセスできません。
それにもかかわらず、その動作は満足のいくものであり、サーブレットはすぐに書き直されたり置き換えられたりする予定はありません。
生成された他のレポートへのリンクを更新するために、応答テキストを変更する必要があります。アンカー テキストを見つけて正規表現を使用して置き換えるフィルターを使用することを考えていました。
リサーチ:
正規表現フィルターを持つこの質問に遭遇しました。それは私が必要とするものであるべきですが、そうではないかもしれません。
私は HTML を解析用語の厳密な意味で解析しようとしているわけではなく、言語の完全な仕様を扱っているわけでもありません。私が持っているのは、テーブル本体を構成する HTML タグのサブセットであり、ネストされたテーブルがないため、サーブレットによって生成された HTML サブセットは再帰的ではありません。
アンカー ターゲットを検索/置換し、タグに属性を追加するだけです。
質問は次のとおりです。
この種のすべてのリンクを変更するには、サーブレットの出力を変更する必要があります。
<a href="http://mypage.com/servlets/reports/?a=report&id=MyReport&filters=abcdefg">
次のようなリンクに:
<a href="http://myOtherPage.com/webReports/report.xhtml?id=MyReport&filters=abcdefg" target="_parent">
@ Jeremy Steinによって書かれた正規表現フィルターを使用する必要がありますか、それともより良い解決策がありますか?