2017-06-17 2 views
2

processUpdatesメソッドのバッキングコンポーネントに投稿されたフォームデータを取得するにはどうすればよいですか?複合コンポーネントからバッキングコンポーネントにHTMLコードをレンダリングする

@Override 
    public void processUpdates(FacesContext context) { 
//get here rendered html code 
} 

decodeの方法で投稿されたフォームデータは入手できますか?

[編集]: 私の目標は、投稿フォームデータを取得することです - 生成されたHTMLコードを取得しない(SRY私は正確ではなかった)

+1

生成されたHTMLから入力値を取得しようとするのは狂気です。あなたは、ステートフルな通信をシミュレートすることを主な目的とする完全な本格的なサーバー側フレームワークを持っています。あなたが解決しようとしているものではなく、あなたが達成しようとしていることを理解できるように、あなたのxhtml(facelets)コードを投稿してください:)おそらくあなたは[PrimeFaces **カスタムレイアウト**ラジオボタン入力](https: /www.primefaces.org/showcase/ui/input/oneRadio.xhtml)? –

+0

@MicheleMariotti私はsryです、私は、生成されたhtmlではなく、投稿されたフォームデータを取得する必要があると言いました。私は私の質問を編集しました。 – Briefkasten

答えて

1

あなたがまだ、achiveしたいものは不明です。私は高レベルで意味します。

UIComponent.decodeprocessUpdatesはあなたがにフレームワークを拡張したい場合にオーバーライドする必要があり、中レベルのライフサイクルAPIです。

あなただけ使用フレームワークに必要がある場合は、管理対象Bean、ないバッキングコンポーネントが必要です。

また、UIInputを延ばす一般のみコンポーネントは、それらが(これはほとんどの場合、管理ビーンを指す)value="#{...}"値式に結合されているので、それらの段階でフックする必要がある、とする必要がそれらの値を結合した式と同期させます。

私はあなたが無駄にあなたの人生を複雑にしていると思う:中程度または低レベルのAPIにフックすることは、フレームワークの仕組みについて優れた理解がない場合、本当の苦痛です。

とにかく、標準要求が入力コンポーネントにデコードこのているパラメータ:

String clientId = this.getClientId(context); 

Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap(); 

String newValue = requestMap.get(clientId); 
if (newValue != null) 
{ 
    this.setSubmittedValue(newValue); 
} 

、フルのXHTMLにfaceletコード(ない複合一つしかしにfacelet を用いた複合こと)を投稿してください、あなたがどこに行きたいのか理解できますし、使用する正しいツールを指摘することもできます。

関連する問題