- - PR -
x:tabChangeListenerの取得が出来ない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-19 18:39
はじめまして。お世話になります。
TomCat と JSF で開発を行っています。 現在、タブ機能を実装した画面を開発しているのですが、 タブは表示できたのですが、タブを切り替えても<x:tabChangeListener> が全く反応してくれません。試しにリスナを実装したクラスにコンストラクタ を設けてデバッグしてみると画面の初期表示の際にブレークポイントに引っか かってくれます。 ネットでいろいろ検索してみたのですが、有効な情報がつかめず途方にくれて おります。 どなたかご存知の方がいらっしゃいましたらご教示ください。 (JSP)(一部抜粋) <x:panelTabbedPane bgcolor="#aaeeee"> <x:tabChangeListener type="?????.????.????Listener"/> <x:panelTab id="tab1" label="tab1"> </x:panelTab> <x:panelTab id="tab1" label="tab2"> </x:panelTab> </x:panelTabbedPane> (リスナーjava) package ?????.????; import javax.faces.context.ExternalContext; import javax.faces.context.FacesContext; import javax.faces.event.AbortProcessingException; import java.io.Serializable; import org.apache.myfaces.custom.tabbedpane.TabChangeListener; import org.apache.myfaces.custom.tabbedpane.TabChangeEvent; public class ????Listener implements Serializable, TabChangeListener { public ????Listener(){ int i=0; //←ここにくるのは確認できました } //↓タブ切替時ここにきてくれません。 public void processTabChange(TabChangeEvent tabChangeEvent) throws AbortProcessingException{ int oldPage = tabChangeEvent.getOldTabIndex(); System.out.println("遷移前のタブ = " + oldPage); } } [ メッセージ編集済み 編集者: センエツ 編集日時 2005-12-19 18:40 ] |
|
投稿日時: 2005-12-21 18:08
解決策は見つかりませんでしたが、参考情報です。
何となくサンプルを作って動かしてみたところ、タブ切り替えをクライアントサイドでやっているようでしたので、サーバサイドで動かす属性を探すためにMyFacesのTLDを参照してみました。 http://myfaces.apache.org/tlddoc/tomahawk/ どうやら「panelTabbedPane」の「serverSideTabSwitch」を「true」にすればよさそうです……が、SVNリポジトリを見てみるとこの属性が追加されたのはRev.329800(2005/10/31 20:33:29)であり、最新リリースのMyFaces1.1.1にも含まれていないようです。 https://svn.apache.org/repos/asf/myfaces/tomahawk/trunk/ ざくざくっと見たところ、1.0.9の頃はタブ部分がSubmitボタンになっていたようですので(すみません。ちゃんと確認してないので嘘かもしれません)、1.0.9を利用するか、NightlyBuildを使うか、次期リリースを待つかする必要がありそうです。 あと、OracleのADF FacesがApacheに寄贈されましたので、急ぎでないのであればMyFacesにADFが取り込まれるのを待っても良いかもしれません。 |
1