2014-04-12 2 views
3

Java EE7 자습서의 simple-flow 예제로 방금 놀고 있습니다.얼굴 흐름이 @Named와 작동하지 않습니다.

import javax.faces.bean.ManagedBean; 

@ManagedBean 
public class FlowScope { 

    private String value; 

    public String getValue() { 
     return value; 
    } 

    public void setValue(String value) { 
     this.value = value; 
    } 
} 

다음과 같은 범위의 디렉토리 구조 : 요청이 콩은 javax.faces.bean.ManagedBean 주석을 사용하는 범위로 그것은 오래 작동

simple-flow 
    simple-flow.xhtml 
    simple-flow-flow.xhtml ;; this file is empty 
    simple-flow-return.xhml 

그것은 다음과 같은 콩이 있습니다. 하지만 @Named을 사용하면 작동이 멈 춥니 다. javax.faces.bean.ManagedBean 주석은 앞으로 제거 될 수 있으므로 ManagedBean 주석을 사용하지 않고 주석을 제거하는 방법을 알고 싶습니다.

현재 : JBoss Wildfly를 컨테이너로 사용하고 있습니다. 감사합니다 로저

답변

1

당신이 @Named를 사용하는 경우

은, 여러분의 빈은 CDI에 의해 관리됩니다. 이를 위해서는 프로젝트에서 CDI 구현이 필요합니다. TomEE와 같은 Java EE 6 (또는 사용 가능한 경우 7) 컨테이너에서 응용 프로그램을 실행하는 경우 기본적으로 Glassfish 또는 JBoss CDI를 사용할 수 있습니다. Tomcat 또는 Jetty와 같은 서블릿 컨테이너 만 사용하는 경우 Apache OpenWebBeans 또는 Weld와 같은 CDI 구현을 추가해야합니다 (예 : TomEE 사용을 고려해야 함).

@javax.inject.Named 
@javax.enterprise.context.RequestScoped 
public class MyBean { 
    ... 
} 

JSF 2.2도 CDI와 흐름 범위 콩을 제공합니다

는 CDI 요청이이 같은 클래스에 주석을해야 할 것입니다 콩 범위 얻으려면. simple-flow wouldlook이처럼 흐름에 바인딩 흐름 범위 콩 : 날 수 있습니다

@javax.inject.Named 
@javax.faces.flow.FlowScoped(value="simple-flow") 
public class MyBean { 
    ... 
} 
+0

는 'WELD-001303 : 범위 유형 javax.faces.flow.FlowScoped에 대한 활성 컨텍스트'예외입니다. – rogergl

+0

@Named를 사용하면 simple.flow.flow.xml 파일에서 흐름을 정의해야하는 것으로 보입니다. – rogergl

관련 문제