그냥 글래스 피시 4.1 (즉, 인 Mojarra를 사용하여)와 함께 FacesFlow 내 첫 단계를 일을 시작 javax.faces.flow.FlowScoped 내 흐름을 호출 할 때 나는라는 오류가WELD-001303 : 범위 유형에 대한 활성 컨텍스트는
[SEVERE] [] [javax.enterprise.resource.webcontainer.jsf.application] ... Error Rendering View[/register/register.xhtml]
org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active contexts for scope type javax.faces.flow.FlowScoped
at org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:708)
웹에서 볼 수 있듯이 여러 다른 사람들도 오류가 있었지만 다른 사람들을 위해 작동 한 솔루션이 나를 위해 일하지 않습니다 (아래 참조).
나는 또한 @SessionScoped
을 시도했다. 그래서 관련이 @FlowScoped
입니다.
내가 책을 읽으면서 나는 속도를 높이기 위해 API @FlowScoped
에 따라 코딩과 설정 끝에서부터 확인해야한다. CDI를 기반으로하고 내 백킹 빈/컨트롤러에서 다음 코드를 사용한다.
@Named
@FlowScoped(value="register")
public class RegisterController implements Serializable {
나는 그 페이지 dirctory에있는 흐름라는 이름의 등록/등록하고 흐름의 첫 페이지 나뿐만 아니라 register/register-flow.xml
설정 파일로 모두 시도 조각을 이어 register.xhtml
이름이 WEB-INF/faces-config.xml
으로 성공하지 못했습니다. 지금까지 시도 무엇
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<flow-definition id="register">
<flow-return id="overview">
<from-outcome>/index</from-outcome>
</flow-return>
</flow-definition>
</faces-config>
: 나는 <Context antiJARLocking="true" path="/PROJEST_NAME"/>
이 문제를 해결할 것을 제안 게시물을 찾았지만 태그를 인터넷 검색 후에는 오래된 톰캣 태그를 밝혀졌습니다.
@Named
에서 @ManagedBean
으로 변경하면 한 페이지에 제안 된 내용과 같이 도움이되지 않습니다. 페이지를 열 수도 있지만 컨트롤러 클래스의 데이터는 더 이상 흐름의 다음 페이지를 호출 할 때 사용할 수 없습니다. 하지만 @FlowScoped
은 CDI 기반이므로 @ManagedBean
은 실제로 작동하지 않아야합니다.
또 다른 게시물은 javax.faces.CLIENT_WINDOW_MODE
을 사용하도록 설정되어 있습니다. 나는 추가를 통해이 또 다른 내가 이미
모든 아이디어를 어떻게 글래스 피쉬 4.x의를 사용하도록 제안
<context-param>
<param-name>javax.faces.CLIENT_WINDOW_MODE</param-name>
<param-value>url</param-value>
</context-param>
성공
내 web.xml 파일에 있지만없이 다음과 같은 것을 시도?
이것을 재현 할 수있는 샘플 앱이 있습니까? –