问题:
我有一个生成报告的 servlet,更具体地说是报告的表体。它是一个黑匣子,我们无权访问源代码。
尽管如此,它的工作还是令人满意的,并且不打算在短期内重写或替换 servlet。
我们需要修改它的响应文本以更新它生成的一些链接到其他报告,我正在考虑使用一个过滤器来查找锚文本并使用正则表达式替换它。
研究:
我遇到了这个有正则表达式过滤器的问题。这应该是我需要的,但也许不是。
我并没有尝试在解析术语的严格意义上解析 HTML,并且我没有使用该语言的完整规范。我拥有的是组成表格主体的 HTML 标记子集,并且没有嵌套表格,因此 servlet 生成的 HTML 子集不是递归的。
我只需要找到/替换锚目标并向标签添加一个属性。
所以问题是:
我需要修改 servlet 的输出以更改所有此类链接:
<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编写的正则表达式过滤器还是有更好的解决方案?