私はJSFの新機能です。私のプロジェクトで@ManagedBean @RequestScopedを使用しています。私のプロジェクトで4ページ使用しています。私の問題は、2番目、3番目、4番目のページでBeanの値が維持されないことでした。 getterとsetterを正しく使用していますか? @ManagedPropertyを使用しない場合、Beanの値は適切に維持されます。しかし、私は @ManagedPropertyを使用する必要があります。この問題を解決する方法を教えてください。私は参照のためにいくつかのサンプルコードをコピーしました。@ManagedPropertyによって管理されたBeanプロパティが次のページで維持されない
@ManagedBean
@RequestScoped
public class ArticlePrepToolManagedBean implements Runnable, Serializable {
@ManagedProperty (value="#{param.jidName}")
private String jidName;
@ManagedProperty (value="#{param.aidName}")
private String aidName;
private List<com.elsevier.ArticlePrepTool.db.ItemZipContains> usabilityDetailList = null;
public String getAidName() {
return aidName;
}
public void setAidName(String aidName) {
this.aidName = aidName;
}
public String getJidName() {
return jidName;
}
public void setJidName(String jidName) {
this.jidName = jidName;
}
public List<ItemZipContains> getUsabilityDetailList() {
return usabilityDetailList;
}
public void setUsabilityDetailList(List<ItemZipContains> usabilityDetailList) {
ArticlePrepToolManagedBean.usabilityDetailList = usabilityDetailList;
}
}
マイプロジェクトのURLは(にhttp:// localhost:8080/articlepreptool /)ですが、私のプロジェクトのための入力がjidName = AEA aidName = 10663です。次のhref "PrepTool"を使用してユーザーがトリガーした場合の入力です。入力に依存して、私は自分のプロジェクトDB(JPAを使って)にいくつかのデータを取り出し、最初のページにデータをリストアップします。しかし、もし私が次のページに行くならば、私はDBから得たそのリストに格納されているすべての以前のデータはすべてリストの値であり、beanにセットされた変数はnullになります。ですから、この問題を解決する方法を教えてください。@ManagedPropertyを使用した場合にのみ問題が発生します。私は入力値を取得するために@ManagedPropertyを使用しました。私のプロジェクトの入力値は他のWebページから来るので、urlを通して入力値を取得します。
私のプロジェクトURLは(http:// localhost:8080/articlepreptool /)ですが、私のプロジェクトの入力はjidName = AEA aidName = 10663です。その入力はhref PrepToolを使用してユーザーがトリガーした場合の他のWebページによって与えられます。入力に依存して私のプロジェクトDB(JPAを使用)の一部のデータがフェッチされ、最初のページにデータがリストされます。しかし、もし私が次のページに行くならば、私はDBから得たそのリストに格納されているすべての以前のデータはすべてリストの値であり、beanにセットされた変数はnullになります。お知らせ下さい。ありがとうございました – Grace
あなたの応答をありがとう。この問題の解決方法を詳しく説明してください。 – Grace