[英]Jsoup parse issue for paring script tag (with c tag) in Jsp file
我有一個 JSP 文件,我需要從該文件中獲取腳本標簽的 src 屬性中的 js 文件詳細信息。 這適用於普通的純腳本標簽(如下所示)
<script src="/resources/js/jquery.min.js" ></script>
我正在使用帶有 UTF-8 字符集的 Jsoup 庫解析方法將 jsp 文件解析為 html 文件
Document htmlDocument = Jsoup.parse(file, "UTF-8");
從文檔(HTML 文檔)中獲取所有具有 src 屬性的腳本標簽的集合,在 foreach 循環中從集合中獲取 src 屬性詳細信息。
實際腳本標簽:
<script src="<c:url value="/resources/js/jquery.min.js" />"></script>
Jsoup 1.8.1 lib解析output:
<script src="<c:url value=" esources="" s="" query.min.js"=""></script>">
Jsoup 1.12.1 lib解析output:
<script src="<c:url value=" resources js jquery.min.js"></script>
預期 output:
"/resources/js/jquery.min.js"
實際 output:
"<c:url value="
任何人都可以對這個問題有所了解嗎?
似乎 JSoup 解析器不喜歡內部引號。 我不會說這是 JSoup 問題,因為您的解析不符合 HTML 標准。 換句話說,我認為 JSoup 正在按設計工作(對於 SO 上的代碼格式也可以這樣說)。
我不確定 JSP 是否可以正常工作,但是當我嘗試將內部雙引號換成單引號時:
<script src="<c:url value'/resources/js/jquery.min.js' />"></script>
解析似乎按您的預期工作
<c:url value'/resources/js/jquery.min.js' />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.