0

私たちが次のような豆を持っているとしましょう

@ManagedBean(name = "categoriesbean")
@RequestScoped
public class CategoriesBean { 
      Integer id;
      public Integer getId() { return id;}
      public void setId(Integer idarg) { id = idarg;}
      ...
      ...
}

同じアプリケーションで、他の場所にあります

@ManagedBean(name = "categoriesdetailedbean")
@ViewScoped
public class CategoriesDetailedBean extends CategoriesBean { 
      Integer idderived;
      public Integer getIdderived() { return idderived;}
      public void setIdderived(Integer idderivedarg) { idderived = idderivedarg;}
      ...
      ...
}

「categoriesdetailedbean」のスコープとそのプロパティ(IdとId派生のスコープなど)は何ですか?

私が尋ねる理由は、私がよく理解できないように見えるいくつかの効果を見ているからです。

4

1 に答える 1

1

クラス アノテーションはクラス自体に固有であり、サブクラス化すると破棄されます。saldo ごとに、 2 つのメソッドをCategoriesDetailedBean継承しました。それだけです。それらは魔法のように異なるスコープで実行されることも、異なるインスタンスの値を保持することもありません。getId()setId()

具体的な機能要件についてあまり明確ではないため、実際にやろうとしていることに対する適切な回答を投稿するのは困難です。しかし、私の推測が正しければ、実際には、マネージド Bean 内から別のマネージド Bean インスタンスにアクセスする必要があります。もしそうなら、あなたは@ManagedPropertyこれに使うことができます。または、マスター/詳細ビューが必要な場合があります。この場合、相互に Bean を注入する必要はありませんが、詳細 ID を GET 要求パラメーターとして渡し、それを使用<f:viewParam>して設定することをお勧めします。

以下も参照してください。

于 2012-09-17T11:06:33.943 に答える