問題タブ [spring-mvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring MVC isFormSubmission() は注釈と同等ですか?
Spring MVC では、「ユーザーが POST を使用した場合、または「isSubmit」パラメーターを含めた場合に、ユーザーがフォームを送信している」という概念を簡単に表現できます。メソッドを拡張SimpleFormController
してオーバーライドするだけisFormSubmission
です。
ただし、Spring MVC は現在、これらのきちんとしたアノテーションを使用して@RequestMapping
リクエストを処理しています。 @RequestMapping
誰かが GET を使用したか POST を使用したかについての明らかなフィルターがありますが、SimpleFormController が提供するすべての有用なロジックに対する固有のサポートは見当たりません。注釈付きでまだ利用できますか?
spring - Springバインディングの前に@RequestMappingメソッドでコマンドオブジェクトを手動で設定することは可能ですか?
Springフォームを含むJSPがあります。フォームのコマンドオブジェクトは、JSPがレンダリングされる前にコントローラに追加されます。Springは、JSPのフォームをこのコマンドオブジェクトにバインドし、NEWインスタンスを送信するときに正しく処理します。
ただし、DWR(これも正しく機能します)を介してコマンドオブジェクトを永続化し、フォームをコントローラーに送信します。フォームがコントローラーに送信された時点で、コマンドオブジェクトは新しいオブジェクトではなく、更新する必要のある永続オブジェクトです。ここで、フォーム要素をコマンドオブジェクトに自動的にバインドし、バインドを介して更新しますが、バインドされていません。
簡単な例:Springフォームがそのコマンドオブジェクトにバインドされるように、にnewTask
を追加します。ModelMap
ただし、新しいを送信する代わりに、 DWRを介してTask
その新しいTask
ものを保持します。これにより、IDが返され、フォームをコントローラーに送信する前にタスクの編集を続行します。
コントローラクラス
春の形
送信後のバインディングが発生する前に、Springバインドされたコマンドオブジェクトを永続化されたオブジェクトに設定できますか?
java - 複数のデータソースを使用して Hibernate + Spring?
Spring MVC 2.5 と Hibernate を使用する Web アプリケーションに取り組んでいます。
アプリケーションの要件の 1 つは、一部のオブジェクトを外部データベースにエクスポートできる必要があることです。既存のデータレイヤーを使用して、オブジェクトを外部ソースに保存するだけでよいと思います。
私はSpringとHibernateが初めてで、これにどのようにアプローチすべきか疑問に思っているだけだと思います. 現在、すべてが注釈を通じて自動的に接続されています。新しい dataSource Bean、新しい sessionFactory、および transactionManager を作成する必要があると思います...多分...しかし...
ユーザーが具体的に「エクスポート」している場合にのみ、外部データ ソースへの接続を利用できるようにしたいと考えています。
オートワイヤリングは私の邪魔になりますか? エクスポート プロセスの DAO をインスタンス化するときに、Spring に適切な sessionFactory を注入するように指示するにはどうすればよいですか? (コンストラクターを介して自動配線しています) プログラムでセッション ファクトリ (など) を作成し、DAO を手動でインスタンス化する必要がありますか? もしそうなら、これはオートワイヤー注釈を「上書き」しますか?
誰かがこのようなものを機能させるための基本的なプロセスを順を追って説明できる場合は、特に上記の質問への回答は必要ないと思います。ありがとう!
web-applications - Web アプリケーションでビジネス エラーをどのように処理する必要がありますか?
Person をデータベースに格納できる Web アプリケーションがあるとします。すべての人は一意の電子メール アドレス (またはユーザー名など) を持っている必要があります。ユーザーが既に存在する電子メール アドレスを持つユーザーを追加しようとすると、エラー メッセージが表示されたフォームが返されます (通常の検証エラーの場合と同様)。
この種のエラーは、サービス レイヤーからコントローラー、そしてビューにどのように発生するのが最も一般的でしょうか? サービス メソッドは、コントローラーがキャッチするために例外をスローする必要がありますか、それとも値または何らかの結果オブジェクトを返す必要がありますか?
最終的にサービス レイヤーを使用して Web サービスを生成したい場合、これによって処理方法が変わりますか?
ベスト プラクティスやサンプル アプリケーションへの提案やリンクをいただければ幸いです。
java - SpringはMVCとWebFlowを組み合わせる予定ですか?
過去にユルゲン・ヘラーを読んだことがあると思いましたが、Springの将来の目標はSpringMVCとWebFlowを組み合わせることでした...
これはまだ当てはまりますか?
現時点では、それらはまだかなり別個のプロジェクトのようであり、MVCの拡張機能としてWebFlowが推奨されています。開発者として、両方を使用して、すべてのコントローラーを同じ方法(JavaまたはXML)で定義できれば素晴らしいと思います。
grails - Grails のセキュリティ問題と検索エンジンの最適化
アクションを呼び出すために現在の gsp ページに依存する制御ロジックを構築しようとしています。現在の gsp ページを識別するために使用できるタグまたはセッション メソッドはありますか
サインアップとログインを除くすべての GSP へのアクセスを制限したいので、ユーザーが他の GSP を開くと、サインアップ ページにリダイレクトされ、ログイン ページにも移動できるようになります。
私が実装しようとしているロジックは、 current_Page が login.gsp または singup.gsp である場合、他に何もしないでサインアップにリダイレクトする場合、//ユーザーが問題なくログイン ページに移動できる場合、次のようになります。
そして、このロジックをメイン レイアウトに追加して、すべてのアプリケーション ドメインに実装されるようにしたいと考えています。
RequestmapController または UrlMappings を使用してこれを行う別の方法があるかどうか疑問に思っていますか?
Grails は SpringMVC の上に構築されており、SpringMVC は標準のサーブレット フレームワークの上に構築されているため、springMVC の経験がある人なら誰でも助けることができます。
注: Acegi プラグインを使用しています
注意: このタイプのセキュリティ メカニズムを実装して、アプリケーションを SEO フレンドリー (つまり、Google インデックス) にするにはどうすればよいでしょうか?
spring - @Transactional と Spring テンプレートの使用の違いは何ですか?
DAO で @Transactional を使用すると、すべての EntityManager クエリが commit と close でカプセル化されますか? または、Spring テンプレート (JPA テンプレート、Hibernate テンプレート) を使用する必要がありますか? @Transactional と Spring テンプレートの使用の違いは何ですか?
unit-testing - アノテーションを使用するときにSpringMVCBindingResultをモックする
新しいスタイルのアノテーションを使用するようにSpringMVCコントローラーを移行しており、コマンドオブジェクトを検証するコントローラーメソッドを単体テストしたいと考えています(以下の簡単な例を参照)。
私の問題は、単体テストでコントローラーのメソッドを呼び出し、コードを適切に実行するためにそのシグネチャを満たすためのモック値を提供する必要があり、BindingResultをモックする方法を理解できないことです。
古いスタイルのコントローラーでは、署名はHttpServletRequestとHttpServletResponseを使用するだけで、これらは簡単にモック可能でしたが、新しい注釈スタイルの柔軟性により、署名を介してさらに多くの情報を渡す必要があります。
単体テストで使用するためにSpringBindingResultをどのようにモックできますか?
java - ドメインオブジェクトからJSONビューを作成するにはどうすればよいですか?
AJAXベースのWebアプリケーションのサーバー側の実装を作成しています。ここで、クライアント側は、JSONとしてシリアル化されたドメインオブジェクトである応答を受信します。共通のルックアンドフィールを提供するために、さまざまなタイプのドメインオブジェクトのテンプレートを作成し、それらを複数のコントローラーのSpringビューとして再利用したいと思います。
たとえば、次のオブジェクトグラフがあるとします。
A-B-C
ここで、AとCは多対多の関係にあります。AJAXリクエストの結果としてタイプAのオブジェクトを返す場合、関連するデータをBテーブルとCテーブルに返したいと思います。ただし、結果としてタイプCのオブジェクトを返す場合は、テーブルCのデータのみを返したいと思います。
これまでのところ、私が見つけた唯一の解決策は、コントローラーでカスタムデータバインダーを作成することです。ただし、このユースケースは、多くのコントローラー間で共有できるビューとして適していると思います。これに対する解決策はありますか?