私は新しいJSF(2)プロジェクトを開始しています。純粋なJSFにはいくつかの制限があり、私は春になる予定です。 JSFは春には比較的新しいアプローチです(スタックオーバーフローではタグのバネ面もありません:-))、jspは古典的な方法です。
技術スタックの利用可能な調整が必要です。
1)私は春のウェブフローも使用する必要がありますか?
2)春の顔(ウェブの流れの一部と思われる)+春のmvc + JPAだけを使用することは可能ですか?
3)このような構成の良い例はありますか?スプリングフローのないスプリング面
答えて
私はウェブの流れに精通していないよ、私はそれを使用していないなどの依存性注入
のために春3と一緒にJSF 2を使用しています。
faces-config.xml
には、SpringBeanFacesELResolver
を登録できます。
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
JSFコードでSpring管理Beanにアクセスできます。
スプリングdocumentationとAPI docsをご覧ください。
アプリケーションにウィザード固有のビューが重い場合は、実際にSWFを使用する必要があるかどうかは疑問です。
最も簡単な解決策は実際にはSebiがあなたに語ったものです - Spring EL Resolverを登録し、コントローラクラスに適切なステレオタイプ(通常は@Controller
)と希望のスコープを付けます。そこから、手動または自動ワイヤリングによってSpring管理Beanへの参照を取得できるはずです。それはすべてです。faces-config.xml
のbean管理と "double IoC"オーバーヘッドはありません。 Springコンテキストになると、管理対象コントローラは#{}
EL表記によってfaceletから簡単に参照解除されます。例えば
:
TestController.java:
@Controller("myController")
@Scope("request")
public class TestController {
@Autowired
private SomeSpringManagedBean someBean;
private String someViewProperty;
public String getSomeViewProperty() {
return someViewProperty;
}
public void setSomeViewProperty(String arg) {
this.someViewProperty = arg;
}
......
}
TestView.jspx:
<p:inputText value="#{myController.someViewProperty}" />
私たちは、JSF 1.2と一緒にSWFに結びつけるしようとしている約2週間失ってしまいました - 実際にJSF 1.2をサポートしているIceFacesの最新バージョンで動作するようになったら、IceFacesにはフィーチャー/バグがありました。 (ライセンスを購入せずに入手できないIceFacesの1.8.2-GAバージョンで修正された)。
編集:私は基本的に同様のSOスレッドに気づいたhere。
ありがとう、非常にintresting。 @Controllerではなく単純な "bean"をバインドできますか? – AgostinoX
私はこの質問を理解しているかどうかはわかりません。コントローラからSpring管理のBeanにアクセスする必要がある場合は、@ Autowiredまたはその他の好きな方法(私の答えに示されているように)で行います。ビューから管理されていないクラスにアクセスできるかどうかを尋ねる場合は、JSF IoCとSpringコンテナを混在させない限り、私はそう思わないと思います。いずれにしても、モデル値を表示するための最良の方法はコントローラ経由であるため、管理されていないBeanにはまったくアクセスできません。 – quantum
- 1. プリンシパルのないスプリングWebソケット
- 2. noHandlerFoundスプリングMVCでないメッセージ
- 3. スプリング依存性注入が動作しないスプリング4
- 4. スプリングMVCスプリング:バインドタグ
- 5. mybatisでスプリングがオートワイヤできないNullPointerException
- 6. スプリングがアスペクトで注入できない
- 7. スプリングRESTfulな日付フォーマット
- 8. 安全なスプリングwebapp with cookies
- 9. スプリットJavaのスプリング
- 10. メモリデータグリッドアプリケーションのスプリング
- 11. スプリングと非スプリングを含むJTAトランザクション
- 12. スプリング・セキュリティを使用したスプリング・ブート・ユニット
- 13. スプリングBeanCurrentlyInCreationException
- 14. スプリングMVCコントローラがいずれのビューにもリダイレクトされない
- 15. autowire annotationなしのスプリング注入
- 16. 複数のスプリングのセキュリティ設定が機能しない
- 17. スプリング提供のスタータープロジェクトの違い
- 18. スプリングのプロパティの違いを取得
- 19. フォームバックベイのスプリング変換
- 20. JBossWSのスプリング設定
- 21. デスクトップアプリケーションのスプリング検証
- 22. JavaのスプリングMVCタイル
- 23. スプリングのJPA JPQLクエリ
- 24. JDeveloper 12cのスプリング・ブート
- 25. スプリングhttpアウトバウンドゲートウェイのカスタマイズ
- 26. JPA、Eclipselink、Auditingのスプリング
- 27. スプリング予選のエラー
- 28. スプリングSTOMPトークンベースのセキュリティ
- 29. ヘーゼルキャストクライアントのスプリング設定
- 30. スプリングの静的セッターメソッドインジェクション
だから、あなたは春の顔は使用しませんが、普通のjsf 2は、ファイルアップローダやセキュリティなどを必要としません。 – AgostinoX
いいえ、春の顔は使用しません。 (私にはこれが何であるか正確にはわからない...)また、ファイルアップロードコンポーネントを持つPrimeFacesも使用しています:http://www.primefaces.org/showcase/ui/fileUploadHome.jsf。私たちはまだプロジェクトの冒頭にありますので、私たちがセキュリティをどのように処理するかについては言えません。 – Sebi