問題タブ [spring-3]
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.
spring-mvc - Spring 3 MVCを使用してFreeMarkerにcssをリンク/含める
現在、FreeMarker *.ftl に css ファイルを含めようとしています。また、サーブレット構成 xml ファイルでリソース フォルダーを構成しました。
しかし、FreeMarker テンプレートから css ファイルにアクセスするにはどうすればよいでしょうか?
私は単に次のことを試しましたが、成功しませんでした。
リソース フォルダーは、Spring MVC 3.0 アプリケーションのルートにあります。
私のサーブレットルートは次のように定義されています:
FreeMarker ファイルがテンプレート フォルダーにあります。
spring - ProxyFactoryBean にプロパティを注入する際の順序は重要ですか
サービスに側面を注入しようとしています。このサービスでは、従来の方法を使用してプロキシ オブジェクトを作成しています。
必要なすべてのアドバイスのリストを含むタイプ (ProxyFactoryBean) の bean-baseProxy を作成しました。
次のようなサービスのプロキシを作成しています。
これは機能しませんが、これら2つのプロパティを元に戻して次のように書くと:
驚いたことに、それはうまく機能します。春は豆の注文でいいの?それとも、ProxyFactoryBean の特殊なケースですか? Spring 3.0 で試してみましたが、以前のバージョンでも同じ動作が存在するかどうかはわかりません。
java - SpringMVC3変換String[]をエンティティオブジェクトに返します
CampaignCitiesの都市とOneToOneの関係にあるエンティティキャンペーンがあります。次に、CampaignCitiesにはSet都市が含まれています。
キャンペーンエンティティ
CampaignCitiesエンティティ
市の実体:
私のNewCampaignController
キャンペーンをフォームにレンダリングすることができ、以下を使用して都市のリストを正常にレンダリングしました。
ただし、フォームを送信すると、次の検証エラーが発生します。
フィールド'cities'のオブジェクト'campaign'のフィールドエラー:拒否された値[2,1]; コード[typeMismatch.campaign.cities、typeMismatch.cities、typeMismatch.com.groupdealclone.app.domain.CampaignCities、typeMismatch]; 引数[org.springframework.context.support.DefaultMessageSourceResolvable:コード[campaign.cities、cities]; 引数[]; デフォルトメッセージ[都市]]; デフォルトメッセージ[タイプ'java.lang.String[]'のプロパティ値をプロパティ'cities'の必須タイプ'com.groupdealclone.app.domain.CampaignCities'に変換できませんでした。ネストされた例外はjava.lang.IllegalStateExceptionです:プロパティ'cities'のタイプ[java.lang.String[]]の値を必要なタイプ[com.groupdealclone.app.domain.CampaignCities]に変換できません:一致するエディターまたは変換戦略が見つかりません]
SpringMVC 3でこれを処理する方法を見つけようとしましたが、1日以上立ち往生して成功しませんでした。フォームでチェックしたリスト、セット、または都市をコントローラーに送信して、キャンペーンに追加したいだけです。返されたString[]を都市のリストまたはセットに変換できる変換の問題を回避するにはどうすればよいですか。
私が取り組んでいるプロジェクトはパブリックGitHubプロジェクトです。プロジェクトの名前がGroup-Deal-Cloneである場合は、ソースをダウンロードしてMavenを使用してセットアップできます。
java - Spring 3 セキュリティ: AccessDeniedHandler が呼び出されていません
以下に示す構成のSpring 3アプリケーションがあります。ログインしていないユーザーがページにアクセスしようとすると、醜いスタック トレースでAccess is Denied例外が発生します。この例外を処理し、スタック トレースをダンプさせないようにするにはどうすればよいですか。独自の access-denied-handler を実装しましたが、それが呼び出されません。
リクエストされたリソースのタイプに基づいて、カスタム エラー メッセージまたはページを表示したいと考えています。これが私の春の設定です。
Spring に access-denied-handler を呼び出させるにはどうすればよいですか。これが私の春の構成です
この例外を処理するためのカスタム クラスを以下に示します。
このアプリケーションを実行すると、これがエラーになります。スタック トレースと Spring デバッグ ログの一部のみを貼り付けます。
この問題を解決するにはどうすればよいですか? まず、春がその例外をスローするのを止めたいと思います。それでもスローされる場合は、フラグを立てずに処理したいと思います。
更新: web.xml の一部も添付しました。
comparison - EJB 3.1 または Spring 3.. どちらを選ぶべきか?
EJB は 3.x バージョンで多くの改善を達成しました。Spring も一般的に使用されており、バージョン 3 は優れた代替手段です。
Web には多くの記事がありますが、ejb3x と spring3x の正確な比較はありません。実際の例で、どの条件でどちらが優れているかについて何か考えはありますか?
たとえば、データベースとサーバーを分離したい場合、アプリケーションがサーバー上にあり、データベースが別のサーバーにあることを意味します.EJB リモーティングと Cluster4Spring など ?
すべての @Annotation を実行することは常に良いことですか? 構成は必要ありませんか?
rest - Maven WebApp プロジェクトで Tomcat 7 / junit が組み込まれた RESTFul Spring 3 サービスをテストする
目的は、単体テストごとにTomcat 7サーバーを体系的に起動し、Springアプリケーションをロードし(最終的にスキーマをドロップ/作成してデータベースにデータを初期化)、単体テストを実行し、httpサーバーを停止することです。
jetty組み込みサーバーでそれを行うためのサンプルを見つけるのは非常に簡単です
Spring コンテキストをロードするために、組み込みの tomcat 7 サーバーを構成する正しい方法が見つかり
ませんでした。
プロジェクト構造は、「myApp」という名前の標準の Maven webApp プロジェクトです。
抽象単体テスト:
URL をテストするための典型的なテスト クラス:
静的フォルダーは applicationcontext.xml で構成されます。
この働き方では、最初に単体テストをコーディングし、データ単体テストを作成してから、アプリケーション機能をコーディングできます。アプリケーションをmavenでパッケージ化すると、テストが自動的に実行されます。テスト レポートも生成できます... ベスト プラクティス...
java - springmvc3-SessionAttributesが機能していないようです
私は試しましたが、ここで何が起こっているのか理解できません。
- @Controllerを使用して注釈が付けられた単純なコントローラーがあります
- @SessionAttributesのアノテーションもあります
- GETリクエストを処理し、オブジェクトをモデルに配置します。
- フォームからPOSTを取得すると、ユーザーが入力した内容のみが返されます。完全なオブジェクトを取り戻せません。
私はSessionAttributesを初めて使用しますが、これによりオブジェクト全体が保持され、@ ModelAttributeを使用してオブジェクトがメソッドで読み戻されると、オブジェクト(つまり、フォームが変更されたオブジェクト)がマージされると思いました。ただし、この動作は見られません。
どんな助けでも大歓迎です。
コードの関連部分は次のとおりです。
私が見逃したかもしれない何かを見ますか?私はこれを理解しようとしてほぼ1日を費やしましたが、理解できません。どんな助けでも大歓迎です。
更新:問題が何であるかを理解しました。回答は以下に掲載されています。
java - コンストラクタから @Value 注釈付き変数にアクセスするにはどうすればよいですか?
プロパティファイルの値を持つBeanを作りたいです。私はこのようなものを作りました:
しかし、このように自動配線@Autowired MainNavs navs;
すると、コンストラクターでそれらにアクセスしようとしたときに と が開始されなかったためNullPointerException
に発生します。names
ids
みたいなメソッドを作っinit()
て、それで始めようとしたら、何の問題もありませんでした。
ただし、手動で開始したくありません。コンストラクターで開始できますか? または他の代替手段はありますか?
spring - Spring 3コントローラーで文字列を返すときにリダイレクトのHTTPステータスコードを設定します
"redirect:/new/url"
Spring 3に戻るときに HTTP ステータス コードを指定する方法はありますか?
java - Spring 3 のすべてのコントローラーのモデルに属性を追加します
Spring 3 アプリのすべてのビューには、信頼できる一連の属性があります。したがって、すべてのコントローラーの最初の行は次のようになります。
そこに追加します
- 個人がログインしている場合、データベースから取得したユーザー オブジェクトと氏名
- 通常一度設定される変数のセット (例:
imagesHost
) - 訪問者が切り替えることができる言語のセット
- 現在の言語
- いくつかの統計 (例: システム内の合計人数)
これにより、各ビューでログインしたユーザーの名前を表示し、画像の場所、言語のリスト、およびサイトに関する全体的な統計を簡単に参照できます。
問題は、コントローラ モデル オブジェクトがすべてのデータを格納するのに最適な場所なのか、それとも、ビューがこの情報に簡単にアクセスできる、より便利な場所があるのかということです。
ControllerHelper
そして第二に、すべてのコントローラーの最初の行として上記の行を使用する必要がないことを本当に望んでいます。実際には常に最初の行であるとは限りません。理由もなくモデルを満たすリソースを無駄にしたくないため、そのコントローラーでリダイレクトする必要があるかどうかを最初に確認することがあります。フィルターや注釈、またはいくつかの Spring コールバック メカニズムにより、コントローラーが終了した後、ビューがレンダリングされる直前にControllerHelper
コードが呼び出され、リダイレクトが返された場合はこれがスキップされるようにすることができますか?