这是我previous question的延续。下面是我试图构建解析HTML的脚本,如下例所示。我收到错误 必须在使用前初始化值。 无法附加错误。
我必须使用jsoup进行http调用,其中 我需要提供服务器登录的用户名和密码 。以下代码是正确的方法吗?我查看了使用jsoup进行html解析的Bennals blog。
我在Application.cfc
中有这个component {
this.name = "jsoupTest";
this.javaSettings = {loadPaths=["/jsoup/jsoup-1.7.3.jar"], loadColdFusionClassPath=true};
}
请注意,至少有5000行,如下所示需要解析,只从TD中提取TEXT 。
<tbody>
<tr>
<td class="drpdetailtablerowdetailleft">Robert M Best Jr.</td>
<td class="drpdetailtablerowdetailleft">AAI</td>
<td class="drpdetailtablerowdetail"><a href="http://ebiz.sbc.com/mots/detail.cfm?appl_id=7948" target="_blank" style="color:blue;">7948</a></td>
<td class="drpdetailtablerowdetail">1</td>
<td class="drpdetailtablerowdetail">MC</td>
<td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td>
</tr>
</tbody>
<tbody>
<tr>
<td class="drpdetailtablerowdetailleft">Robert M Best Jr.</td>
<td class="drpdetailtablerowdetailleft">ABWS</td>
<td class="drpdetailtablerowdetail"><a href="http://ebiz.sbc.com/mots/detail.cfm?appl_id=4884" target="_blank" style="color:blue;">4884</a></td>
<td class="drpdetailtablerowdetail">4</td>
<td class="drpdetailtablerowdetail">NMC</td>
<td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td> <td class="drpdetailtablerowdetail">Compliant</td>
</tr>
</tbody>
<cfhttp url="https://intra.att.com/itscmetrics/EM2/LTMR.cfm" method="get" username="abc" password="zxyr">
<cfhttpparam type="url" name="LTMX" value="Andre Fuetsch / Shelly K Lazzaro">
</cfhttp>
<cfset jsoup = createObject("java", "org.jsoup.Jsoup") />
<cfset document = jsoup.parse(myPage.filecontent) />
<cfset content = doc.getElementById("contentwrapper")>
<!--- Let's see what we got. --->
<cfdump var="#content#" />
答案 0 :(得分:0)
首次在你的parse命令中声明了myPage变量。
我认为您需要在cfhttp调用中添加结果=&#34; myPage&#34; 。
<cfhttp result="myPage" url="https://intra.att.com/itscmetrics/EM2/LTMR.cfm" method="get" username="abc" password="zxyr">
答案 1 :(得分:-1)
它看起来不起作用的原因是因为你没有在Jsoup类上调用构造函数。
尝试更改此行
var jSoupClass = createObject( "java", "org.jsoup.Jsoup" ).init(); // note calling init calls the constructor for the Java class
答案 2 :(得分:-1)
您是否正确安装了jar文件?
ColdFusion按以下顺序搜索对象:
- ColdFusion Java动态类加载目录:
- web_root / WEB-INF / lib
中的Java归档(.jar)文件- web_root / WEB-INF / classes
中的类(.class)文件 醇>
引自:About ColdFusion, Java, and J2EE
将jar文件复制到web_root/WEB-INF/lib
,重新启动CF,然后重试。