私は Java プログラミングの世界に不慣れで (プログラミングではありません)、問題を解決しようとして首まで両足で飛び込みました。
現在、次のようなリンクを作成している JSF 2.2 ページがあります。
/folder1/destination.jsfはいくつかの作業を実行してから/anotherfolder/destination2.jsfにジャンプし、ジャンプで Bean を失いました。Bean を 2 番目のページに渡したいのですが、JSF 2.2 FlowScoped Bean を使用すると問題が解決すると考えました。
次の FlowBuilder を作成しました。
import java.io.Serializable;
import javax.enterprise.inject.Produces;
import javax.faces.flow.Flow;
import javax.faces.flow.builder.*;
public class MyPageJumpingFlow extends Object implements Serializable {
private static final long serialVersionUID = 1L;
@Produces
@FlowDefinition
public Flow defineFlow(@FlowBuilderParameter FlowBuilder flowBuilder) {
String flowId = "MyPageJumpingFlow";
flowBuilder.id("", flowId);
flowBuilder.viewNode(flowId, "/folder1/destination.xhtml").markAsStartNode();
flowBuilder.viewNode(flowId+"2", "/anotherfolder/desintation2.xhtml");
return(flowBuilder.getFlow());
}
destination.jsf のバッキング Bean は、次のようにインスタンス化されます。
@Named(value="destinationObject")
@FlowScoped("MyPageJumpingFlow")
私の問題は、フローを開始してパラメーターを渡す方法を理解しようとしていることです。
それを行う方法またはこの問題を解決するためのより良い方法についての提案をいただければ幸いです。
環境: JSF 2.2、Java EE 7、EclipseLink、Oracle Weblogic 12.1.3