JSFは死んだ!
これはまさに、あるオフィスで開発者を試しに行ったときに聞いたことです。 オフィスで行われていることはトピックトピックではなく、彼らが何を使っているかを知るだけで十分です。 「なぜJSFではないのか」という質問に、私は聞いたことを聞きました。 habrのJSFに関する最新の投稿から判断すると、真実は語っています! いや?
私の名前は何ですか?
まあ、彼は死んで死んだように思えますが、なぜあなたはテープを詰まらせているのですか? しかし、ITはダウンします! インターネットでGrailsとPlayが見つかりました! (春については沈黙を保ってください-私がいなくても滑りやすいです)。 両方とも、金型、基本的なコントロール、ナビゲーションを備えた5ページの投影図を美しく描きました。 終了しました...私たちは、11.2016からJSF 2.2.14(2016年2月から
2.2.13 !DEAD!?)でMavenプロジェクトを開き、作業を続けました。
問題
JSFのそれほど大きくないプロジェクトでは、データベースのユーザーにFORM認証を追加する必要がありました。 複雑なことはありません。ここにJPAクラスがいくつかあり、JSFページ、web.xmlで使用可能なロールのリスト、およびsecurity-constraintがあります。 やめて! なぜそんなに複雑なのですか?! Grails and Playで! -いくつかの注釈/メソッドとすべて! ロールのリストが変更された場合のweb.xmlの変更方法!? 私は思った...なぜすべてがSOであり、どのように機能するのですか? 認証とは、ログインとパスワードのペアを調整して、URLを解析し、ユーザーが適切な役割を持っていることを確認するプロセスです。 これまでのところ、すべてが論理的ですが、ニュアンスがあります! 役割の調整は正確にどこで行われますか?! まあ、つまり 文字通り-役割の調整が発生するコード
のポイントはどこですか?
Grails、Play!など
回答:注釈が存在する場合、それらは検証されます。 非常に
失礼な場合、要求処理は次のようになります。
- ユーザー生成リクエスト
- URLで見つかったコントローラー
- コントローラーで見つかった注釈
- 役割を確認しました
- コントローラーでモデルを準備しました
- コントローラーで、表示を選択します
- ユーザーにレンダリング
JavaServer Faces(JSF)
回答:なぜ必要なのですか? とにかく見つからない... o_O
これは、JSFでは処理が次のようになるためです。
- ユーザー生成リクエスト
- URLで見つかった必須ロール
- 役割を確認しました
- URLで見つかったコントローラー(FacesServlet)
- URLコントローラーの検出ビュー
- ビューからELによってモデルを準備しました
- ユーザーにレンダリング
そして、私は何も理解していないことに気付きました。
JSFとPlayのようなものを比較する方法! またはJSFとGrails? 彼らはただ異なっている...一部の場合-キー要素はコントローラであり、他の場合-ビュー。 一部は-「どのページを描画するか」を決定し、その他は「何を描画するか」を決定します。 「どのページ」と「ページにあるもの」という論争のようですが、本質は劇的に変化しています。 しかし、GETパラメータがビューで宣言されている理由と、リンクが「faces-redirect = true」である必要がある理由を理解しました。
また、任意のロールを使用するには、WebFilter
アノテーションを使用して、フィルターを作成する必要があります。
あとがき
同僚、ナレーションでの混乱を許してください。 意図的なテキスト:
- FacesServletはコントローラーと呼ばれます javabeansは、それにインポートされるクラスにすぎません。
- Grailsを操作してプレイしましょう! 「抽象」と「こんにちは世界」に簡略化されました。 アプローチの概念的な違いを示す目標。
また、JSF 2.0では、カスタムタグとフローの適切な実装を「作成」しました。 おもしろい場合は、JSFに関するトピックが非常に時代遅れであるため、喜んでお伝えします... :-(