Gerade erst begonnen tun meine ersten Schritte mit FacesFlow mit Glassfish 4.1 (dh mit Mojarra), und wenn mein Flow Aufruf bekomme ich einen Fehler namensWELD-001303: Keine aktiven Kontexte für Bereichstyp javax.faces.flow.FlowScoped
[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)
Mehrere andere hatten diesen Fehler auch, wie ich im Web sehen kann, aber die Lösungen, die für andere arbeiteten, funktionieren irgendwie nicht für mich (siehe unten).
Ich versuchte auch @SessionScoped
, die funktioniert. Es ist also verwandt mit @FlowScoped
.
Zu was ich in einem Buch gelesen habe, das ich benutze, um mich auf die Geschwindigkeit zu bringen, sollte ich von der Kodierung und Config Ende ok sein, da gemäß API @FlowScoped
CDI basiert und ich den folgenden Code an meinem Backbone/Controller verwende.
@Named
@FlowScoped(value="register")
public class RegisterController implements Serializable {
Ich habe einen Fluss namens Register, deren Seiten in einem dirctory gelegen/Register und die erste Seite des Strömungs named register.xhtml
Schnipsel Nach ich auch sowohl als register/register-flow.xml
Config-Datei versucht, als WEB-INF/faces-config.xml
ohne Erfolg.
<?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>
Was ich bisher versucht: fand ich einen Beitrag darauf hindeutet, dass <Context antiJARLocking="true" path="/PROJEST_NAME"/>
das Problem lösen würde, aber nach dem Tag googeln es stellt sich seinen einen veralteten Tomcat-Tag aus.
Die Änderung @Named
zu @ManagedBean
hat nicht wirklich geholfen, wie auf einer Seite vorgeschlagen. Ich könnte die Seiten öffnen, aber die Daten in meiner Controller-Klasse wären nicht mehr verfügbar, wenn die nächste Seite des Ablaufs aufgerufen wird. Aber @ManagedBean
sollte nicht wirklich funktionieren, ich denke, seit @FlowScoped
ist CDI basiert.
Ein weiterer Beitrag vorgeschlagen, um sicherzustellen, dass javax.faces.CLIENT_WINDOW_MODE
aktiviert ist. Ich habe versucht, dass die folgenden meine web.xml über das Hinzufügen, aber ohne Erfolg
<context-param>
<param-name>javax.faces.CLIENT_WINDOW_MODE</param-name>
<param-value>url</param-value>
</context-param>
anderen vorgeschlagene Glassfish 4.x zu verwenden, die ich schon tun
Irgendwelche Ideen?
Haben Sie eine Beispiel-App, die das reproduzieren kann? –