2014-02-28 2 views
0

Alfresco에서 파일의 내용을 읽으려고합니다. ContentService를 사용하는 예를 보았습니다. 유감스럽게도 예제 코드를 사용하려고하면 ContentService 을 사용할 수 없습니다.Alfresco ContentService 객체를 얻으려면 어떻게해야합니까?

: 내 자바 코드에서

<managed-property> 
<property-name>contentService</property-name> 
<value>#{ContentService}</value> 
</managed-property> 

얼굴-config.xml에 내 관리 빈의 관리 속성으로 contentService의 추가, 나는이

ApplicationContext ctx = ApplicationContextHelper.getApplicationContext(); 
final ServiceRegistry serviceRegistry = (ServiceRegistry) ctx.getBean(ServiceRegistry.SERVICE_REGISTRY); 

// contentService is an instance variable. 
this.contentService = serviceRegistry.getContentService(); 

를 사용하고 나는이 예외를 얻고있다

javax.faces.el.EvaluationException : 식 # {DeployAssetQADialog.start}를 호출하는 중 예외가 발생했습니다 에 의해 발생하는 예외 : javax.faces.el.PropertyNotFoundException : Bean : com.XXXXXXXXXX.CCCCCCCC.DeployAssetDialog, p roperty : contentService

내가 누락 된 내용이 있으면 알려 줄 수 있습니까? 감사합니다

+0

스프링 컨텍스트 파일을 사용하여 자신의 콩에'ContentService' (큰 C를 적어 둡니다 - 거의 항상 큰 글자 콩이 필요함)를 연결하거나 액티브 서비스 레지스트리에서 꺼내는 것이 좋습니다. 이상한 일을하기 위해 얼굴을 ... – Gagravarr

+0

예제 코드에 대한 링크를 제공 할 수 있습니까? faces-config.xml을 오버라이드하는 코드를 실제로 보지 못했습니다. @Gagravarr처럼 Spring을 사용한다고! –

답변

1

PropertyNotFoundException 관리 빈과 같은 소리는 setter 메소드가 없습니다.

스프링 관리 빈을 jsf에 노출시키는 방법은 사용중인 스프링 및/또는 jsf 버전에 따라 다를 수 있습니다. 예를 들어 Spring beans injected into JSF Managed Beans을 살펴보십시오.

마지막으로. 당신의 프레스코 스프링 컨텍스트에서 JSF 차기 전에 초기화되어 있는지 확인 당신이 그 (것)들을 위해 게터의 setter 메소드를 추가 할 필요가 주입되는 각 서비스의 경우 코드

1)에서

0

많은 문제를 해결합니다. contentservice에 getter setter를 추가하면 오류를 제거 할 수 있습니다.

2) 다른 점은 conentservice를 얻으려는 것입니다.이 경우 서비스 레지스트리를 삽입하고 getter setter를 추가해야합니다. 그렇지 않으면 contents-config 인스턴스를 faces-config에 직접 주입하고 getter setter를 추가하면 해당 contentservice 인스턴스를 직접 사용할 수 있습니다.

관련 문제