3

@ViewscopedJSF2.1プロジェクトでBeanを使用しています。奇妙なことに、私が最初にページを取得したとき、Beanはすべての初期パラメーターで明確に初期化されています。しかし、別のページに移動すると、アプリが開いているブラウザタブを閉じても、Beanは停止しません。このBeanを使用するページに戻ると、値はこのページの使用中に変更されたものと同じです。さらに、IEやChromeなどの別のブラウザを開いても、値はまだそこにあります!! セッションスコープのように動作しています。またはある種の不滅の豆、je。

Beanにはこのように注釈が付けられています。

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import org.springframework.stereotype.Controller;

@Controller
@ManagedBean
@ViewScoped

public class MyBean {
  //the rest of the code.
}

なぜこれが起こるのですか?SpringFrameworkアノテーションが問題の原因である可能性がありますか?

4

2 に答える 2

1

解決策を見つけました。問題は、Bean の私の春の注釈でした。@ControllerSpring Framework から使用します。この注釈はシングルトンを作成するため、バッキング Bean は、 と を持っていても@ManagedBean@ViewScoped一度だけ作成され、すべてのビューで再作成されて破棄されることはありませんでした。インジェクションを削除@Controllerして置き換え@Autowiredたところ、すべてが期待どおりに機能するようになりました。@ManagedProperty

この質問の答えは、理解するのに役立ちます

于 2012-05-08T18:10:38.790 に答える