java cf_方法名称为CF保留字的Java cfObject - java

我一直在ColdFusion中进行Braintree集成。 Braintree不直接支持CF,但是它们提供了Java库,到目前为止,我所做的一切都运转良好……直到现在。似乎某些对象(尤其是搜索功能)具有无法从CF访问的方法,我怀疑这是因为它们是CF保留字,例如“ is”和“ contains”。有什么办法可以解决这个问题?

gate = createObject( "java", "com.braintreegateway.BraintreeGateway" ).init(env,merchant.getMerchantAccountId(), merchant.getMerchantAccountPublicSecret(),merchant.getMerchantAccountPrivateSecret());

req = createObject( "java","com.braintreegateway.CustomerSearchRequest").id().is("#user.getUserId()#");

customer = gate.customer().search(req);

引发的错误:无效的CFML构造... ColdFusion正在查看以下文本:is

参考方案

这表示CF编译器中的错误。 CF中没有规则,不能定义一种称为is()或this()的方法,实际上在基本情况下,调用它们也没有问题。此代码演示:

#o.is()#

#o.contains()#

这-可以预测-输出:

true

true

但是,如果在Junk.cfc中引入init()方法,则会遇到问题,因此:

然后相应地调整test.cfm:

#o.init().is()#

#o.init().contains()#

这会导致编译器错误:

第19行的第4行发现无效的CFML构造。

ColdFusion正在查看以下文本:

[...]

coldfusion.compiler.ParseException:在第19行的第4行发现无效的CFML构造。

at coldfusion.compiler.cfml40.generateParseException(cfml40.java:12135)

[等等]

如果o.init().is()没问题,没有合理的理由解释为什么o.is()不能正常运行。

我建议您file a bug。我会投票。

作为解决方法,如果您使用中间值而不是方法链接,则应该没问题。

Java中的“ <

最喜欢的语句来自Java的Character类:(1 << Character.PARAGRAPH_SEPARATOR)) >> type PARAGRAPH_SEPARATOR是字节,type是整数。这句话中的操作员,他们做什么?如何以及在哪里可以使用这些运算符?这是oracles java.lang.Character文档。该类中…JAVA:如何检查对象数组中的所有对象是否都是子类的对象? - java

我有一个对象数组。现在,我要检查所有这些对象是否都是MyObject的实例。有没有比这更好的选择:boolean check = true; for (Object o : justAList){ if (!(o instanceof MyObject)){ check = false; break; } } java大神给出的解决方案 如果您不喜欢循环,则…用glassfish服务器进行struts2会话维护 - java

在我的应用程序中,有5分钟的会话超时。

我有订单流(来源是订单列表)。每个订单都有一个客户和一个OrderLine列表。我要实现的目标是在一张简单的列表中以客户为关键的地图,并将属于该客户的所有订单行作为值。现在,通过执行以下操作,我现在管理的内容返回了Map, List>>:orders .collect…无法从ArrayList 转换为List - java

当我写下面的代码时,编译器说 无法从ArrayList转换为Listprivate List get(){ return new ArrayList(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值