Glassfish 4.1 (つまり、Mojarra を使用) で FacesFlow を使用して最初のステップを開始したところです。フローを呼び出すと、次のエラーが表示されます。
[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
ます。
@FlowScoped
APIによるとCDIベースであり、バッキングビーン/コントローラーで次のコードを使用しているため、スピードを上げるために使用する本で読んだことについては、コーディングと構成の終わりから問題ないはずです。
@Named
@FlowScoped(value="register")
public class RegisterController implements Serializable {
register という名前のフローがあり、そのページはディレクトリ /register にあり、フローの最初のページは register.xhtml という名前です
スニペットに続いて、構成register/register-flow.xml
ファイルとしても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"/>
が、タグをグーグルで調べたところ、古いTomcatタグであることがわかりました。
あるページで提案されているように、に変更@Named
して@ManagedBean
もあまり役に立ちませんでした。ページを開くことはできましたが、フローの次のページを呼び出すときにコントローラー クラスのデータを使用できなくなりました。しかし、 CDIベースである@ManagedBean
ため、実際には機能しないはずです。@FlowScoped
javax.faces.CLIENT_WINDOW_MODE
有効になっていることを確認するために提案された別の投稿。web.xml に以下を追加して試しましたが、成功しませんでした
<context-param>
<param-name>javax.faces.CLIENT_WINDOW_MODE</param-name>
<param-value>url</param-value>
</context-param>
もう1人は、私がすでに行っているGlassfish 4.xを使用することを提案しました
何か案は?