Coldfusion 成员函数名称匹配 jSoup 函数名称。如何强制使用 jSoup 函数

Coldfusion member function name matches jSoup function name. How can I force the use of jSoup function

在 Coldfusion 10 中与 jSoup 一起使用的以下代码可以正常工作:

var jsoup = application.jsoup;
var newBody = jsoup.parseBodyFragment(FileRead(expandPath("\default\includes\display_objects\custom\routesmapping\routePageTemplate.cfm")));
var routeBadge = newBody.select(".routeBadge");
routeBadge.append("<img src=""#$.content('decalFileName')#"" />");

在 Coldfusion 2016 上,第 4 行出错,java.lang.String 无法转换为 org.jsoup.nodes.Element。

java.lang.ClassCastException: java.lang.String cannot be cast to org.jsoup.nodes.Element at org.jsoup.select.Elements.add(Elements.java:15) at coldfusion.runtime.ArrayUtil.ArrayAppend(ArrayUtil.java:208) at coldfusion.runtime.CFPage._arrayAppend(CFPage.java:578) at coldfusion.runtime.CfJspPage.invokeMethodHandle(CfJspPage.ja‌​va:3198) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3155) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:3072) at

它似乎使用了在 CF11 中添加的 ColdFusion 成员函数 append(),而不是 jSoup append() 函数。

在这种情况下,如何强制使用 jSoup append() 函数而不是 CF append() 成员函数?

最终,我无法让 jSoup append() 方法在任何版本的 CF11 或 CF2016 上运行。我最终不得不切换到使用 html() 方法,然后将我的新字符串连接到现有内容。

所以代替:

descList.append("<dt>Booking Status:</dt><dd class = """ & statusClass & 
    """><em>#status#</em></dd>");

我必须使用:

 descList.html(descList.html() & "<dt>Booking Status:</dt><dd class = """ & 
    statusClass & """><em>#status#</em></dd>");