2011-11-14 12 views
0

基本的に、同じリクエストページのスコープに複数回追加するバッキングFragmentBeanを持つjspfテンプレートファイルがあります。このテンプレートをインクルードすると、別のパラメータ値が渡されるので、テンプレート内でどのインスタンスを処理しているかを特定し、セッションマップにデータを正しく格納できます。私が抱えている問題は、このテンプレートの1つのインクルードインスタンスで実行するアクションが他のすべてのインスタンスに適用されることです。たとえば、ボタンをクリックしてテンプレート内のパネルを非表示にすると、含まれているすべてのインスタンスが対応する非表示パネルを非表示にしたり再表示したりします。これは、新しいバッキングBeanインスタンスを作成していないことに気付きました。私はおそらくjsp:includeを悪用しているようですが、単一のjspファイルを複数回含むことを希望するコードを再利用するにはどうすればよいですか?単一のjspファイルを複数回インクルードする

JSF 1.2、JSTL 1.1、JBoss 4.0.4に限定されています。 RichFaces ajax trickeryはありません。そして、私は私たちがアップグレードする必要があることを知っています。別の時間のもう一つの戦い。

答えて

3

同じインスタンスを複数回使用しているので、イベントやアクションによって特定のマネージドBeanが更新され、同じ情報がページを含むすべての場所に反映されます。

複数回含む場合、毎回新しいインスタンスを意味するわけではありません。

あなたができることは、どこに含まれているかを識別するパラメータを渡してから、いくつかの機能を実行することです。

別のトリックは、別のセッション変数で複数の宣言を宣言することです。

+0

私はこの問題を解決するためにこのルートを使用していますが、いくつかの問題があります。私はここに私のフォローを投稿しました:http://stackoverflow.com/questions/8228823/jsf-accessing-backing-map-object – Nikordaris

関連する問題