コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

2014-12-01から1ヶ月間の記事一覧

Spring MVC 4.1 No. 009 HttpEntityで受け取る

今回はSpringで用意されているHttpEntityクラスでリクエストを受け付けます。 package com.example.spring.controller.c009; import org.springframework.http.HttpEntity; import org.springframework.stereotype.Controller; import org.springframework.u…

Spring MVC 4.1 No. 008 Reader/InputStreamで受け取る

RequestBodyのデータをReaderやInputStreamで受け取ることができます。今回はより簡単なReaderで受け取っています。読み取った1行目のデータをレスポンスに返しています。 package com.example.spring.controller.c008; import java.io.BufferedReader; impo…

Spring MVC 4.1 No. 007 HttpServletRequestとそれに近いもの

今回はHttpServletRequestとSpringで用意されている、Reqeustのようなクラスです。WebRequestは色々便利に使えますが、今回はHttpServletRequestと同じ動きができるというところだけ確認します。 package com.example.spring.controller.c007; import javax.…

Spring MVC 4.1 No. 006 リクエストボディをそのまま受け取る

POSTリクエストのデータは、GETリクエストと同様に@RequestParamで受け取ることもできますが、リクエストボディの生データをそのまま受け取ることもできます。 package com.example.spring.controller.c006; import org.springframework.stereotype.Controll…

Spring MVC 4.1 No. 005 URLの一部をパラメータとして受け取る(複数パラメータ)

URLをパラメータとする場合、そのパラメータは1つでなくても構いません。複数のパラメータを受け取ることができますし、パラメータとパラメータの間にURLの一部が混ざっていても問題ありません。具体的なサンプルは以下のとおりです。 package com.example.s…

Spring MVC 4.1 No. 004 URLの一部をパラメータとして受け取る

リクエストされるURLの一部、例えば/hoge/fooというアクセスのfooの値をパラメータとして受け取る場合には、@PathVariableアノテーションを使って受け取ることができます。 package com.example.spring.controller.c004; import org.springframework.stereot…

Spring MVC 4.1 No. 003 GETパラメータを受け取る(Optional)

Spring MVC 4.1から@RequestParamのパラメータにOptionalが使用できるようになりました。Optionalを使用することで、事実上パラメータは必須ではなくなります。例えば、fooパラメータを設定した場合を例にします。Stringで受けた場合にはfooパラメータが、な…

Spring MVC 4.1 No. 002 GETパラメータを受け取る

通常のGETパラメータを受け取るには、@RequestParamアノテーションを使用します。 package com.example.spring.controller.c002; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.…

Spring MVC 4.1 No. 001 Hello world

最初のサンプルは、Spring MVCでHello worldを表示する最低限のプログラムです。これ以降の基本となる部分です。Spring MVCに必要なライブラリーは依存関係が複雑で大変なため、Mavenで導入するのが簡単です。Mavenのためのpom.xmlの必要なライブラリーの設…

JSPとELを見直そう No. 9 ELでSet、List、Mapのリテラルを使う

EL 3.0(Java EE 7)からELでSet、List、Mapのリテラルが使えるようになりました。具体的な例で見てみます(仕様のままですが)。 <%@page contentType="text/html; charset=utf-8" %><%-- --%> <html lang="ja"> <head> <meta charset="utf-8"> <title>JSP</title> </head> <body> <c:set var="set" value="${{1, 2, 3}}" /> </c:set></body></html>

JSPとELを見直そう No. 8 ELでLambdaを有効に使いたい2

今回は、forEachの対象をLambdaで絞り込んでみます。まずServletで書籍のリストを準備します。 package com.example; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import java…

JSPとELを見直そう No. 7 ELでLambdaを有効に使いたい1

EL 3.0(Java EE 7)から、ELの中でLambda式が使えるようになりました。使いどころがなかなか難しい感じがしていますが、なんとか使えないか考えてみました。 <%@page contentType="text/html; charset=utf-8" %><%-- --%> <html lang="ja"> <head> <meta charset="utf-8"> <title>JSP</title> </head> <body> <c:set var="value" value="1" /> ${(v -> v == 1 ? '1で</c:set></body></html>…

JSPとELを見直そう No. 6 Enumをc:ifで使用する

Java EE 5からELでEnumの比較ができるようになっています。仕様を読んでいて今日知りました。まず、適当なEnum型を作ります。 package com.example; public enum Season { SPRING, SUMMER, AUTUMN, WINTER } 次に、Servletを作成します。requestスコープにWI…

JSPとELを見直そう No. 5 jsp:body

前回にひき続いて、最近の仕様ではないですが、カスタムタグを使用する際に知っておくと便利な機能があります。カスタムタグのボディ部もjsp:attributeのように別のタグとして指定することができます。 <%@page contentType="text/html; charset=utf-8" %><%…

JSPとELを見直そう No. 4 jsp:attribute

最近の仕様ではないですが、カスタムタグを使用する際に知っておくと便利な機能があります。カスタムタグの属性値に他のカスタムタグの結果を渡したり、複雑な内容を渡したい場合にアクションタグを使うとスマートに実装できます。 <%@page contentType="tex…

JSPとELを見直そう No. 3 ELで任意のメソッドの呼び出し

Java EE 6からELで任意のメソッドが呼び出せるようになりました。それまではgetterを使えば擬似的にメソッド呼び出しのようなことはできましたが、引数も渡すことができない上、本来の使い道ではありませんでした。Java EE 6では引数付きも含めてELからメソ…

JSPとELを見直そう No. 2 trimDirectiveWhitespaces

Java EE 5から、trimDirectiveWhitespacesがpageディレクティブで設定できるようになりました。これをtrueに設定することで、ディレクティブを宣言した行が空行として出力されるのを防ぐことができます。具体的に見ていきます。次のようなJSPを用意します。…

JSPとELを見直そう No. 1 ひな形

世間一般にはJSPは面倒だとか、動かさないとどういう表示になるのかわからないとかいろいろ言われていまして、確かにそのとおりなのですが、Java EE5、6、7と進化する中でJSPやELも進化しています。そこで、今回からネタが尽きるまでJSPとELの機能について紹…

JSPの記事のまとめ

ブログの中で書いたJSPの記事のまとめです。 JSPとELを見直そう No. 1 - コンピュータクワガタ JSPとELを見直そう No. 2 trimDirectiveWhitespaces - コンピュータクワガタ JSPとELを見直そう No. 3 - コンピュータクワガタ JSPとELを見直そう No. 4 jsp:att…