【问题标题】:Parse/extract URIs that may contain Javascript解析/提取可能包含 Javascript 的 URI
【发布时间】:2012-11-05 18:23:54
【问题描述】:

作为我正在开发的 Java webapp 的一部分,我需要为从数据库加载的某些 URI 添加前缀,例如

"controller.jsp?page=list"

变成……

<a href="${legacyBaseUrl}/controller.jsp?page=list">...</a>

简单。虽然数据库中的某些 URI 包含 Javascript,但会出现问题,例如

"javascript:window.open('controller.jsp?page=popup')"

我想做的是……

<a href="javascript:window.open('${legacyBaseUrl}/controller.jsp?page=popup')">...</a>

或者更好……

<a href="${legacyBaseUrl}/controller.jsp?page=popup" target="_blank">...</a>

我知道我可以用正则表达式将它分开,但我很谨慎地把它当作一个简单的字符串操作问题,因为数据从未被清理过,并且数据库中可能有任何 Javascript。

是否有一种(相对)简单的方法可以在 Java 中正确解析 Javascript,并识别/提取对 window.open 或其他 JS 函数的调用?

我已经简要地查看了诸如 Rhino 或 javax.script 之类的东西,但有点迷茫。这是否适合我的需求?正则表达式实际上就足够了吗?有什么建议吗?

【问题讨论】:

    标签: java javascript rhino


    【解决方案1】:

    看来您需要功能齐全的 HTML 和可能的 java 脚本解析器。有很多这样的纯java实现,例如

    http://www.webrenderer.com/products/server/product/

    HTML 单元

    http://lobobrowser.org/java-browser.jsp

    雅加达仙人掌

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      相关资源
      最近更新 更多