首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdSpring错误,当我没有寻找Bean时,它并不存在

ColdSpring错误,当我没有寻找Bean时,它并不存在
EN

Stack Overflow用户
提问于 2012-03-26 22:32:33
回答 2查看 379关注 0票数 1

我正在为Mura CMS添加一个插件,并添加了我自己的bean,刚开始得到一个错误,一个不存在。我的一个bean有用于电子邮件、名称、数量等的setter和getter,以及一些bean(即,configBean、priceBean、teamBean)。

当我尝试加载bean (名为donationBean)时,我得到一个错误,即ID为email的bean不存在。电子邮件不应该是基于bean的。除了电子邮件的getter/setter之外,我没有添加任何代码,错误也不是由任何其他属性引起的。以下是捐赠bean的getter/setter部分:

代码语言:javascript
复制
  public numeric function getAmount(){ return Variables.data['amount']; }
  public void function setAmount(numeric amount){ Variables.data['amount'] = Arguments.amount; }

  public any function getConfigBean(){ return Variables.configBean; }
  public void function setConfigBean(any configBean){ Variables.configBean = Arguments.configBean; }

  public string function getEmail(){ return Variables.data['email']; }
  public void function setEmail(string email){ Variables.data['email'] = Arguments.email; }

  public string function getId(){ return Variables.data['id']; }
  public void function setId(string id){ Variables.data['id'] = Arguments.id; }

  public string function getName(){ return Variables.data['name']; }
  public void function setName(string name){ Variables.data['name'] = Arguments.name; }

  public boolean function getPaid(){ return Variables.data['paid']; }
  public void function setPaid(boolean paid){ Variables.data['paid'] = Arguments.paid; }

  public any function getPriceBean(){ return Variables.priceBean; }
  public void function setPriceBean(any priceBean){ Variables.priceBean = Arguments.priceBean; }

  public numeric function getTeamId(){ return Variables.data['teamid']; }
  public void function setTeamId(numeric teamid){ Variables.data['teamid'] = Arguments.teamid; }

这是我的config.xml

代码语言:javascript
复制
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
  <bean id="registrationBean" class="[plugin]lib.registration" />
  <bean id="priceBean" class="[plugin]lib.price" />
  <bean id="donationBean" class="[plugin]lib.donation" />
</beans>

最后是加载bean的代码(从bean本身):

代码语言:javascript
复制
  public any function createForTeamPayment(priceid, teamid, name, email){
    var price = getPriceBean().loadBy({priceid=Arguments.priceid});
    setAmount(price.getAmount());
    setTeamId(Arguments.teamid);
    setName(Arguments.name);
    setEmail(Arguments.email);
    save();
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 03:01:25

我发现,如果我将电子邮件属性更改为另一个名称,在我的示例中为donorEmail,那么一切都开始正常工作。我不知道为什么,因为没有带有ID电子邮件的bean,也没有被称为bean。

票数 0
EN

Stack Overflow用户

发布于 2012-08-30 05:21:39

很可能是名称空间冲突...EmailID在mura名称空间中...您可以尝试为vars设置一个本地作用域...

结账~ requirements\mura\bean\beanFactory.cfc ...

代码语言:javascript
复制
    <cfset variables.transientAlias["email"]="emailBean"/>

也是~ requirements\mura\email\emailBean.cfc

代码语言:javascript
复制
    <cfcomponent extends="mura.bean.bean" output="false">

    <cfproperty name="emailID" type="string" default="" required="true" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9874096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档