gpt4 book ai didi

coldfusion - 在 cfc 中扩展邮件对象

转载 作者:行者123 更新时间:2023-12-02 17:25:40 24 4
gpt4 key购买 nike

我在 cfscript 中使用 mail() 对象。我想扩展该对象,以便可以覆盖 setTo() 方法。这是我写的cfc代码。

component extends="com.adobe.coldfusion.mail"
{
public void function setTo(String recipients) {
machineName = createObject("java", "java.net.InetAddress").localhost.getCanonicalHostName();

if (FindNoCase("devcomputer", machinename) == 0)
{
super.setTo(arguments.recipients);
}
else
{
super.setTo(this.getFrom());
}
}
}
然而,当运行时,我收到一条消息,指出调用 super.setTo() 的行不存在 setTo() 方法。进一步挖掘,我查看了 super 对象,它继承自 java.lang.Class,而不是 com.adobe.coldfusion.email。

扩展 ColdFusion 的邮件对象以便我可以重写 setTo() 方法的正确方法是什么?

最佳答案

com.adobe.coldfusion.mail 中的 getter/setter实际上不是函数,而是访问器。访问器由 ColdFusion 根据组件中的属性自动生成。 属性是继承的,而访问器不是!

邮件组件中的访问器除了设置/获取属性值之外什么也不做。相当于 super.setTo(arguments.recipients);因此是variables.to = arguments.recipients; 。相当于 this.getTo()variables.to等等

注意:使用accessors="true"extends="com.adobe.coldfusion.mail" 的组件也不适用于继承的属性。

关于coldfusion - 在 cfc 中扩展邮件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34295910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com