如何在CF中获取java类

2024-01-04

我想访问 Coldfusion 文件中 java 方法的返回值。我已经加载了coldfusion文件中的所有jar文件并成功获取了java类对象。使用类对象,我想访问返回一个java类方法Set;但我无法获得任何返回值。 这是我的Java代码:

public Set getSession(String url) {       
    result+="hello";
    try {
        DesiredCapabilities caps = new DesiredCapabilities();
        caps.setJavascriptEnabled(true);
        caps.setCapability("takesScreenshot", false);
        caps.setCapability(
                PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
                "E:\\TicketScraper\\phantomjs\\phantomjs.exe"
        );
        driver = new PhantomJSDriver(caps);
        driver.get(url);
        driver.findElement(By.id("login:loginName")).sendKeys("XXXX");
        driver.findElement(By.id("login:password")).sendKeys("XXXX");
        waitForJQueryProcessing(driver, 5);
        driver.findElement(By.id("login:j_idt145")).click();        
        Thread.sleep(10000);
        Set<org.openqa.selenium.Cookie> allCookies=driver.manage().getCookies();
        for ( org.openqa.selenium.Cookie loadedCookie : allCookies) {
            System.out.println(String.format("%s -> %s", loadedCookie.getName(),loadedCookie.getValue()));
        }      
    } catch(Exception e) {
        System.out.println(e);
    }
    return allCookies;
}

java代码运行Phantom JS驱动程序,登录上述代码中的URL,并获取所有cookie。所有 cookie 均收集在Set变量并从方法返回。我想在 CF 代码中获取这个设置变量。

但是当我尝试访问 java 方法时SetCF 中的变量不返回任何值。相比之下,当我注释掉所有 Phantom JS 代码并仅返回一个String变量然后 CF 可以访问字符串值。 这是我的CF代码:

<cfscript>
    paths = arrayNew(1);
    paths[1] = expandPath("lib\apache-mime4j-0.6.jar");
    paths[2] = expandPath("lib\bsh-1.3.0.jar"); 
    paths[3] = expandPath("lib\cglib-nodep-2.1_3.jar");
    paths[4] = expandPath("lib\commons-codec-1.9.jar");
    paths[5] = expandPath("lib\commons-collections-3.2.1.jar");
    paths[6] = expandPath("lib\commons-exec-1.1.jar");
    paths[7] = expandPath("lib\commons-io-2.4.jar");
    paths[8] = expandPath("lib\commons-jxpath-1.3.jar");
    paths[9] = expandPath("lib\commons-lang3-3.3.2.jar");
    paths[10] = expandPath("lib\commons-logging-1.1.3.jar");
    paths[11] = expandPath("lib\Counsel_Cookies_Phantom.jar");
    paths[12] = expandPath("lib\cssparser-0.9.14.jar");
    paths[13] = expandPath("lib\gson-2.3.jar");
    paths[14] = expandPath("lib\guava-18.0.jar");
    paths[15] = expandPath("lib\hamcrest-core-1.3.jar");
    paths[16] = expandPath("lib\hamcrest-library-1.3.jar");
    paths[17] = expandPath("lib\htmlunit-2.15.jar");
    paths[18] = expandPath("lib\htmlunit-core-js-2.15.jar");
    paths[19] = expandPath("lib\httpclient-4.3.4.jar");
    paths[20] = expandPath("lib\httpcore-4.3.2.jar");
    paths[21] = expandPath("lib\httpmime-4.3.4.jar");
    paths[22] = expandPath("lib\ini4j-0.5.2.jar");
    paths[23] = expandPath("lib\jcommander-1.29.jar");
    paths[24] = expandPath("lib\jetty-websocket-8.1.8.jar");
    paths[25] = expandPath("lib\jna-3.4.0.jar");
    paths[26] = expandPath("lib\jna-platform-3.4.0.jar");
    paths[27] = expandPath("lib\junit-dep-4.11.jar");
    paths[28] = expandPath("lib\netty-3.5.7.Final.jar");
    paths[29] = expandPath("lib\nekohtml-1.9.21.jar");
    paths[30] = expandPath("lib\operadriver-1.5.jar");
    paths[31] = expandPath("lib\phantomjsdriver-1.1.0.jar");
    paths[32] = expandPath("lib\protobuf-java-2.4.1.jar");
    paths[33] = expandPath("lib\sac-1.3.jar");
    paths[34] = expandPath("lib\selenium-java-2.44.0.jar");
    paths[35] = expandPath("lib\selenium-java-2.44.0-srcs.jar");
    paths[36] = expandPath("lib\serializer-2.7.1.jar");
    paths[37] = expandPath("lib\testng-6.8.5.jar");
    paths[38] = expandPath("lib\xalan-2.7.1.jar");
    paths[39] = expandPath("lib\xercesImpl-2.11.0.jar");
    paths[40] = expandPath("lib\xml-apis-1.4.01.jar");
    paths[41] = expandPath("lib\Selenium_Cookies.jar");
    paths[42] = expandPath("lib\selenium-server-2.0b2.jar");
    //writeDump(paths);

    //create the loader
    loader = createObject("component", "javaloader.JavaLoader").init(paths,true);
    //writeDump(loader);

    excelObject = loader.create("counsel_cookies_phantom.Counsel_Cookies_Phantom");
    //writeDump(excelObject);
    //abort;
</cfscript>

<cfdump var=#excelObject.getSession("https://pacer.login.uscourts.gov/csologin/login.jsf")#/>
<cfabort>

请提供有关如何访问 CF 中 Phantom JS 值的建议。


假设你的Set is a java.util.Set,然后调用toArray()将为您提供一个可以在 CF 中轻松访问的数组。

e.g.

<cfscript>
s = createObject("java", "java.util.HashSet").init();
s.add("foo");
s.add("bar");
s.add("bob");

arr = s.toArray();

writeDump(arr);
</cfscript>

在 TryCF.com 上运行此程序 http://trycf.com/scratch-pad/pastebin?id=zRs75XqC

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在CF中获取java类 的相关文章

  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • Spring AspectJ 在双代理接口时失败:无法生成类的 CGLIB 子类

    我正在使用Spring的
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • Eclipse Maven Spring 项目 - 错误

    I need help with an error which make me crazy I started to study Java EE and I am going through tutorial on youtube Ever
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 在 iFrame 内维护会话状态

    不确定我是否疯了 但我在 iFrame 内的会话状态遇到问题 它是一个域在另一个域中的简单设置 我不需要跨域共享任何内容 我想做的就是将一个网站嵌入到另一个网站中 并且我希望该嵌入网站能够使用 cookie 会话状态登录 编辑 更新 等 为
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • logback登录时如何处理磁盘已满错误?

    我正在使用 slf4j logback 来登录我们的应用程序 早些时候我们使用的是jcl log4j 最近搬到了这里 由于我们的应用程序中的日志记录量很大 生产环境中可能会出现磁盘已满的情况 在这种情况下 我们需要停止日志记录 应用程序应该
  • virtualenv 与该系统或可执行文件不兼容

    我对 Linux Ubuntu 和安装 Python 软件包相当陌生 我在使用 mkvirtualenv 时遇到问题并且无法解决 mkvirtualenv mysite70 New python executable in mysite70
  • Word Addin/OfficeJS - 检测光标是否位于图表元素上

    我希望能够检查文档光标是否位于 MS Word API 内的图表元素内 现在我有一个插入文本的应用程序 但是当我尝试将所述文本插入图表标题时 它会删除图表并将其替换为我插入的内容控件 我不想删除图表 而是想通过上下文检查光标是否位于图表内部
  • JS Array a['1'] 不会给出错误

    我已经声明了一个数组a 1 2 3 4 5 当我写作时a 1 it 返回 2这很好 但是当我写的时候a 1 它也是给我 2而不是给出错误 我原以为那里会出现错误 为什么会有这样的行为 所有属性名称都是字符串 如果您传递一个数字 它会在用于查
  • PrimeFaces 单击逐行展开

    I have 行扩展 http www primefaces org showcase ui data datatable expansion xhtml数据表
  • 使用自定义 SKAction 的 EaseOut 操作

    我有以下自定义 SKAction 工作 但作为 EaseIn 而不是 EaseOut 我想让它缓出 我使用网络上找到的各种缓动方程来纠正它 却惨遭失败 let duration 2 0 let initialX cameraNode pos
  • 谁能破译这段代码?

    以下是我在访问日志中看到的一些奇怪代码示例 有人能解码这个吗 例如 xb3 xe1 xdd H t xd5 xd2 xf0ml xf1 x10 xee xa0 xeaY xa5 xe7 x81d xd5 x1f xd9 QI xd9 xfb
  • teamcity 中的 Mercurial VCS 证书验证失败

    我尝试使用 teamcity 配置 Mercurial 但出现以下错误 stderr 中止 错误 ssl c 504 错误 14090086 SSL例程 SSL3 GET SERVER CERTIFICATE 证书验证失败 尝试了以下签名证
  • 提交后台作业并用结果更新阶段

    我对 JavaFX 2 完全是个菜鸟 今天早上开始使用我正在改编的 HelloWorld 我需要使用后台线程的结果更新文本节点 对于 JavaFX2 我需要注意什么特别的地方吗 或者提交可调用对象并更新文本就足够了 指向教程的指针将不胜感激
  • 如何使用面向对象技术验证 PHP 中的表单字段

    我创建了一个 验证 类来验证两个字段 即 名字 和 姓氏 它工作不正常 当字段为空时它显示错误 但是当我提交包含非空字段的表单时 错误仍然存 在 如何在表单提交时执行此操作
  • 在node.js中分离文件服务器和socket.io逻辑

    我对 Node js 相当陌生 我发现随着项目规模的增长 将项目分成多个文件非常复杂 我之前有一个大文件 它既充当文件服务器又充当多人 HTML5 游戏的 Socket IO 服务器 理想情况下 我希望将文件服务器 socket IO 逻辑
  • 如何在同一活动中实现具有不同项目列表和不同点击操作的多个微调器

    我想在Android中实现两个不同的微调器 微调器有不同的数据集 这是带有年龄的微调器 它使用定义的包含所有年龄范围的字符串数组 例如18 20 19 21 etc
  • 如何使用 play 框架渲染一个简单的 html 页面?

    这是使用 play 框架版本 2 渲染纯 html 文件的方法吗 我不想将其放在 public 文件夹中 因为稍后会添加一些动态信息 这是我的解决方案 在路线中 我做了一些配置 如下所示 GET hello html controllers
  • 如何在Android中打开/关闭导航抽屉时立即刷新列表

    我已经创建了导航抽屉并在列表中显示项目 我的列表是静态的 但我正在显示点 因此 当用户选择列表中的项目并进行一些活动时 他就会获得积分 所以我想在他得到后立即更新积分 我怎样才能做到这一点 下面是我的代码 活动类别 Override pro
  • 在文本模式下的 Emacs 中设置 4 个空格缩进

    I ve been unsuccessful in getting Emacs to switch from 8 space tabs to 4 space tabs when pressing the TAB in buffers wit
  • “useEffect”钩子只触发一次?

    我正在为 React Native 开发一个猜测游戏 用户输入一个数字 手机尝试猜测它 每次手机生成猜测时 用户都可以单击 更大 更低 当用户输入数字并且计算机猜测彼此相等时 我们将进入游戏结束屏幕 游戏结束画面未渲染 在屏幕上渲染游戏的逻
  • 将 pytest 与 xdist 结合使用时如何打印输出

    我正在使用 py test 来运行测试 我将它与 pytest xdist 一起使用来并行运行测试 我想在测试中查看打印语句的输出 我有 Ubuntu 15 10 Python 2 7 10 pytest 2 9 1 pluggy 0 3
  • 如何将网页与 Facebook 页面关联? fb:pages 是否已弃用?

    在网页上 我包括 以及各种开放图表信息 我最近用这个号码创建了 Facebook 页面 当链接在 Facebook 上共享时 og image 等可以工作 但与我尝试链接的 Facebook 页面 没有连接 相反 共享的右上角有一个 i 其
  • 标签的“lang”属性有什么用?

    在 HTML 中 最好有一个lang属性在 e g 这有什么用 如果用于翻译 即使语言设置为英文 文档中全是中文文本谷歌翻译检测到它是中文 而不是英文 这意味着谷歌忽略了lang属性 我引用的是W3C http www w3 org Int
  • 如何在CF中获取java类

    我想访问 Coldfusion 文件中 java 方法的返回值 我已经加载了coldfusion文件中的所有jar文件并成功获取了java类对象 使用类对象 我想访问返回一个java类方法Set 但我无法获得任何返回值 这是我的Java代码