2012-03-26 4 views
1

내 자신의 bean에 Mura CMS를 추가하기위한 플러그인을 만들고 있는데, 존재하지 않는 오류가 발생하기 시작했습니다. 내 콩 중 하나는 전자 메일, 이름, 금액 등에 대한 설정 도구와 getter 및 일부 bean (예 : configBean, priceBean, teamBean)을 가지고 있습니다.하나를 찾고 있지 않을 때 Bean이 없다는 ColdSpring 오류

빈 (donationBean)을로드하려고하면 ID 전자 메일이있는 빈이 없다는 오류가 발생합니다. 이메일은 빈을 기반으로하지 않아야합니다. 전자 메일에 대한 getter/setter 외의 코드는 추가하지 않았으며 다른 속성에서는 오류가 발생하지 않습니다. 여기에 기부 빈의 게터/세터 섹션 : 여기

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에

<!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> 

그리고 마지막으로 내 코드입니다 :

+0

어쩌면 '요소 별명'이메일 속성을보고 있지만, ID를 이메일로 어떤 콩. 어쩌면 당신은 'byName'을 사용해서는 안됩니다. – Henry

+0

빈의 다른 속성 중 하나도 자동으로 실행되지 않는 이유에 대해 혼란 스럽습니다. 전자 메일 속성이 추가되기 전에 괜찮 았습니다. –

답변

0

전자 메일 속성을 다른 이름으로 변경하면 내 경우 donorEmail에서 모든 것이 작동하기 시작했습니다. 이유는 모르겠습니다. ID 이메일이있는 빈이 없기 때문에 빈으로 호출되지 않았습니다.

+0

답변으로 표시 할 수있는 시간까지 다른 대답이 없다면이 질문에 대답 할 것입니다. 나는 대답을 좋아하지 않는다. 왜냐하면 나는 "그것은 단지 일을 시작했다"는 답변을 좋아하지 않기 때문이다. –

+0

함수 호출을 범위 지정하면 this.setEmail (arguments.email);과 같이 어떤 차이가 있는지 궁금합니다. 거기에 또 다른 setEmail 함수가있을 수 있습니까? –

+0

가능합니다. 나는 무라의 냉기 콩을 잡아 당기고 있기 때문에, 어딘가에 뭔가있을 수 있지만, 내가 아는 한 거기에는 뭔가있을 수 없다. 내가 시간의 위기에 있지 않다면 'this'를 사용하면 아무것도 테스트하지 않을 것이다. –

0

대부분의 경우 ... EMAILID은 ... 뮤라 네임 스페이스에서 당신은 바르에 대한 로컬 범위를 설정하려고 할 수도 있습니다 ...

체크 아웃 ~ 요구 사항 \ 무라 \ 빈 \의 beanFactory.cfc 네임 스페이스 충돌입니다 ...

<cfset variables.transientAlias["email"]="emailBean"/> 

그리고 너무 ~ 요구 사항 \ 무라 \ 메일 \ emailBean.cfc

<cfcomponent extends="mura.bean.bean" output="false"> 

    <cfproperty name="emailID" type="string" default="" required="true" />