タグ

spring mvcに関するgologo13のブックマーク (12)

  • Spring MVCでフラッシュスコープの機能を簡単に実装する方法 - 達人プログラマーを目指して

    JSF2.0やSeamなど、新しいフレームワークではフラッシュスコープという機能を利用することができます。これはもともとRuby on Railsで有名になった処理方式だと考えられますが、フラッシュにデータを登録しておくと一回のHTTPリダイレクトの最中のみデータが保持され、次回以降のリクエスト時までに自動的に削除されます。従来こうした仕掛けをHTTPセッションを使ってアプリロジック中で毎回個別に実現するのは結構面倒で、またデータが正しくクリアされずに残存するなどのバグも簡単に発生しがちでした。 以前はあまり知られていませんでしたが、2重送信の問題を回避するために、最近はPRG(Post/Redirect/Get)パターンというのがよく知られるようになっています。*1このパターンでは、POSTリクエストで画面遷移する場合は、間にリダイレクトとGETをはさむことでURLバーのアドレス表示と実

    Spring MVCでフラッシュスコープの機能を簡単に実装する方法 - 達人プログラマーを目指して
  • Spring Framework Advent Calendar 2011 part.4 - Spring MVC 3.1 で導入される Flash Scope - 倖せの迷う森

    Spring Framework Advent Calendar の 4 日目です。今日は Spring MVC 3.1 の新機能について触れようと思います。 Spring MVC 3.1 では、@MVC*1 関連の機能がさらに強化されています。そのうちのひとつである Flash Scope について紹介します。なお、記事の執筆時点では Spring 3.1 のバージョンは RC1 であり、正式リリース版ではありません。そのため、最終的なリリース版と挙動が異なる可能性があるかもしれません(可能性は限りなく低いですが)。 Flash Scope Flash Scope とは、通常の Request Scope より少し長い生存期間を持つスコープです。通常の HTTP Request のひとつ先の Request の時点まで生存しています。主に、リダイレクト後のビューで一回だけメッセージを表

    Spring Framework Advent Calendar 2011 part.4 - Spring MVC 3.1 で導入される Flash Scope - 倖せの迷う森
    gologo13
    gologo13 2016/02/25
    RedirectAttributesのaddAttributeとaddFlashAttribute
  • SpringMVCでリダイレクト先ページにパラメータを渡す方法 - Qiita

    コントローラのハンドラからハンドラにリダイレクトする際、パラメータを渡してリダイレクト先のJSP等に表示する方法。 Modelを使う 以下コントローラのサンプル。 //ここにアクセスすると... @RequestMapping(value = "/from", method = RequestMethod.GET) public String from(Model model) { //メッセージhogehogeを渡す model.addAttribute("message", "hogehoge"); return "redirect:/to"; } //こっちにリダイレクトする @RequestMapping(value = "/to", method = RequestMethod.GET) public String to(@Param(value = "message") Str

    SpringMVCでリダイレクト先ページにパラメータを渡す方法 - Qiita
    gologo13
    gologo13 2016/02/25
    Flash Scope
  • Spring MVCのドキュメント「コントローラを実装する」を読む(2) - M12i.

    前回に引き続きSpring Web MVCフレームワークに関するドキュメントの訳出です。 原典は、Springフレームワーク(体)のリファレンス・マニュアルである"Spring Framework Reference Documentation"の第5部"The Web"の第17章"Web MVC framework"の第3節(バージョン4.1.1.RELEASE現在)です。 * * * 17.3 コントローラを実装する(2) 17.3.3 @RequestMapping ハンドラ・メソッドを定義する @RequestMappingハンドラ・メソッドは非常に柔軟なシグネチャを持つことができます。メソッドの引数と戻り値に使用することが可能な値はこのあとで説明します。 BindingResult引数以外のすべての引数は任意の順序で使用できます。これについては次のセクションで説明します。 [N

    Spring MVCのドキュメント「コントローラを実装する」を読む(2) - M12i.
    gologo13
    gologo13 2016/02/25
    reference としてこれを参照すれば良さそう
  • Spring-Boot の @RestController の単体テストを記述する - Qiita

    最新(1.4.x)の Spring Boot ではこの方法を使う必要は無くなっています。 @WebMvcTest と @MockBean を使用するのが良いかと思います。 最近、Spring-Boot を触っています。 Spring-Boot 自体の使い方は、Google 先生に聞けばだいたい教えてくれるので、@RestController なコントローラの単体テストについて書いておきます。 使用した Spring-Boot のバージョンは 1.2.1.RELEASE になります。 「単体テスト」といえば対象クラスの動作に対するテストの事かと思いますが、コントローラの場合はフレームワークの設定と動作もある程度加味しないとテストから漏れてしまう箇所が多くなる or 結合テスト(手動/自動問わず)で細かな部分までテストすることになってしまうかと思います。 Spring-Boot には spri

    Spring-Boot の @RestController の単体テストを記述する - Qiita
  • SpringMVCでJSONを受付けた時のvalidationで困っている件

    SpringMVCを使っていて、バリューオブジェクトにアノテーションでバリデーションの定義入れて、 @Validだけ仕掛けておけばイイってのは楽チンではイイわーとか思ってたのですが、 FormとJSONとで、ちょっとばかし挙動が違くて困っています。 #ちゃんと解決してから書けばいいのですが、明日になると自分自身、内容を覚えてられるか #微妙なのでブログに書いてしまおうかな、と…w ■ HTMLのFormを受取る時 – Controller @RequestMapping(value = "/post", method = RequestMethod.POST) public String hogePost( @Valid Hoge hoge, // Integer:id, String:nameって感じのバリューオブジェクト BindingResult result, Locale loc

    SpringMVCでJSONを受付けた時のvalidationで困っている件
  • How does @ModelAttribute Work?

    gologo13
    gologo13 2016/02/24
    @Controllerついたクラスがどういう挙動をするのかわかりやすい。
  • 08.Controllerの処理メソッドの引数と返り値 - soracane

    Spring MVCの処理メソッドでは、リクエストのパラメタだけでなく、ヘッダ、モデルなど様々な値を引数として受け取れます。 HttpServletRequestなどのWEB用のクラスも受け取れます。

    gologo13
    gologo13 2016/02/22
    このページに早く出会いたかった
  • 05.Spring MVC 3 の実際のサンプル - soracane

    まず、以下のサンプルの目標(ゴール)を示します。 【動作について】 入力画面 ⇒ 確認画面 ⇒ 完了画面、という画面を作成していきます。 画面とControllerの連携のパターンとしては、「複数の画面に1つのControllerを結びつけるパターン」を使用します。 (パターンについてはこちらの記事を参照)

    05.Spring MVC 3 の実際のサンプル - soracane
  • Spring MVC 3.0/3.1/3.2 Cookbook - タツノオトシゴのブログ

    Spring MVC 3.0/3.1/3.2の日語の実用レベルのまとまった情報が少ないので、ドキュメントとして、クックブック的なレシピ集としてまとめたものとして公開します。 まだ、書きかけのところもありますが、Spring MVCの大体の機能は説明できていると思います。 基的に、自分が使っている機能をまとめています。 Spring MVCに直接関係しないものも多々あります。書いていたら、いつの間にか増えてました(JAXBやRELAX NGとか)。 今後も主にこの方針で更新していきますが、ページ数が多くなった場合、分割するかもしれません。 目指すところ Webアプリケーションを作成するときに、フレームワークの選定する際の候補としてSpring MVCも入れてほしいので、その参考資料としても使えるようにする。また、目次をみれば、Spring MVCで何ができるのかできるだけわかるようにする

    Spring MVC 3.0/3.1/3.2 Cookbook - タツノオトシゴのブログ
  • Spring MVCのドキュメント「コントローラを実装する」を読む(1) - M12i.

    今回はSpring Web MVCフレームワークに関するドキュメントの訳出です。Spring Bootフレームワークのリファレンスに言及されていたことで関心を持ち、ちょっとばかし読んでみました。 原典は、Springフレームワーク(体)のリファレンス・マニュアルである"Spring Framework Reference Documentation"の第5部"The Web"の第17章"Web MVC framework"の第3節(バージョン4.1.1.RELEASE現在)です。 * * * 17.3 コントローラを実装する(1) コントローラは〔Webアプリケーションのユーザに対して〕アプリケーションの振る舞い──多くの場合サービス・インターフェースにより定義される──へのアクセスを提供します。コントローラはユーザの入力値を読み取り、モデル──ビューによってユーザに表示される──に変換

    Spring MVCのドキュメント「コントローラを実装する」を読む(1) - M12i.
  • Spring MVCのコントローラでの戻り値いろいろ - Qiita

    Spring MVCのコントローラのメソッドで使える戻り値にどんなものがあるか、どういう使い方ができるかをざっくりまとめてみた。 @Controllerと@RestControllerの違い 先に@Controllerと@RestControllerの違いを説明しておく。 Spring MVC ではコントローラクラスにアノテーションで@Controllerまたは@RestControllerを付ける。 @Controllerは主にWebページ用のコントローラで使用する。 Webページ用コントローラはJSPやテンプレートエンジンのViewに遷移してレスポンスのHTMLを生成するので、基的にメソッドの戻り値はViewの遷移先を指定するのに使用する。 @RestControllerはJsonやXML等を返すWebAPI用のコントローラで使用する。 こちらはViewに遷移しないのでメソッドの戻り

    Spring MVCのコントローラでの戻り値いろいろ - Qiita
    gologo13
    gologo13 2015/12/07
    @Controller@RestController, forward, redirect, JSONの扱い方などコンパクトにまとまっている
  • 1