3

ビューのテーブルに表示されるように、データベースからリストをフェッチするメソッドを持つ@ViewScoped-annotated マネージド Beanがあります。 アイテムを削除すると、変更がビューに表示されるようになります。 これを動的かつ再利用可能に保つために、データベースからのみ削除したい(リストから手動で削除するのではなく)。したがって、私が想定しているBeanを破棄/再作成する必要があります。ここで、同じビューに移動してこれを行います。しかし、私のやり方は再利用できません。 Bean を手動で破棄するか、その特定のビューに明示的に移動せずに同じビューに移動できますか (再利用可能性)?@PostContruct


私はJSF 2.1を使用しています

4

3 に答える 3

5

あなたはすでに正しい軌道に乗っています。viewMap他のマップと同じです。ViewScopedBean は名前で削除できます。ひどい連鎖を許してください:

FacesContext.getCurrentInstance().getViewRoot().getViewMap().remove("yourBean");
于 2013-10-21T21:21:26.210 に答える
-1

アクション属性からメソッド内で null 以外の値を返すと、Bean が再作成されます。

index.xhtml

...
<h:commandButton value="delete" action="bean.delete" />
...

Bean.class

...
public String delete() {
  // do operations
  return "index.xhtml?faces-redirect=true";
}
...
于 2013-10-21T09:30:00.700 に答える