2011-10-12 28 views
0

を必要に応じて、私は署名がここで特定の操作を完了するためにユーザからrequieredされるコンポーネントを開発しようとしています署名を要求する配列であるのcommandButtonまたはcommandLinkのは、アクションを実行して

  1. ユーザーがクリック。
  2. ユーザー名/パスワードの入力を求めるポップアップが表示されます。
  3. ユーザーが正しいユーザー名とパスワードを入力すると、元のアクションが実行されます。
  4. ユーザが間違ったユーザ名/パスワードを入力した場合、またはキャンセルボタンをクリックした場合、何も起こりません。
  5. 最後に、アクションが実際に実行されると、署名情報が利用可能になるはずです。

注:ソリューションは、次のような構造を持っている必要があり、複合コンポーネントでなければなりません:

<myCC:confirm action="#{testMB.delete}" singatureType="deleteObject"/> 

私はこの動作を実装するためにやったです:

  1. 管理スコープビューを作成しましたbean 署名(ユーザ名、パスワード、シグネチャタイプ)を使用して署名を処理する署名

  2. 要求を作成した
  3. は私の複合コンポーネントmyCCに#{signatureMB}

  4. にマッピングされた管理プロパティと管理Bean #{testMB}スコープ:を確認私は2つのリンクにその意志outputLinkを作成しました署名フォームでポップアップを開く、第二は、署名フォームを掲載し、ユーザー名/パスワードが正しい場合、すなわち#{} testMB.delete

  5. を提出する実際の行動が含まれています隠しのcommandLinkですポップアップウィズそれを閉じて、隠されたコマンドリンクのクリックイベントを引き起こします。

  6. 最後#{testMB.delete}でIは署名情報を有し、情報を処理し、完了したら、私はsignatureMBの値をリセットすることができるであろう。

この実装についてはどう思いますか?それを行うより良い方法があると思いますか?

答えて

0

これは合理的な実装であり、良い出発点です。

あなたは、隠されたリンクの部分が成功した認証には「緩いリンク:-)」であるあなたは自動的に削除呼び出すことができます

0

不正なユーザ名/パスワードのロジックを処理するために追加のステップ4aを必要とするユーザーが本当に必要でしょうもう一度クリックして削除しますか?また、リンクを動的にレンダリングすることはできますか?

+0

削除を自動的に呼び出すことはどういう意味ですか?今のところ、私は隠されたcommandLinkのonclickイベントを引き起こすことによってそれをやっています。 ユーザーが削除を再度クリックする必要があるとは言及していませんでした。最後にどのリンクを動的にレンダリングする必要がありますか?もっときれいになれますか? –

+0

"私はその人がもう一度電話をかける必要があった"と仮定して私は監視しています。これは、「リンクの削除」が動的にレンダリングされなければならないことを示唆する理由でもあります。クライアント側から呼び出すのではなく、サーバー側からdelete関数を呼び出すことができると期待していました。 – r0ast3d

+0

これはプロジェクト全体で再利用される複合コンポーネントです。私の例では削除アクションですが、他のものでも可能です。 –

関連する問題