Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
最近Javaの面倒臭さに耐性ができてきて何も感じなくなってきた oinume です。こんにちは。今日はSpringMVC + JSR-303 Bean Validation + FreeMarkerでいわゆるフォームのバリデーション+エラーメッセージ表示を試してみたので、そのまとめをば。サンプルコードはGitHubにあげてある。 使ったソフトウェアのバージョン Spring MVC 3.2.3 FreeMarker 2.3.19 Hibernate Validator 4.3.1.Final Hibernate Validatorは5.0.1.Finalというのが最新なんだけど、これを使うとWebアプリ起動時にNoClassDefFoundErrorで怒られてしまったので1世代古いやつを使ってる。 Caused by: java.lang.NoClassDefFoundError: org
Introduction This example will show how to make a simple layout using FreeMarker ( I used version 2.3.15 ) as the template engine. In previous posts, I used almost the same example with Tiles 2 and StringTemplate. This is not an introduction to FreeMarker, since the site of the product contains a very complete documentation. Anyway, I think this example doesn’t require the reader to know all the d
The Spring Framework supports JSR-303 Bean Validation adapting it to Spring's Validator interface. An application can choose to enable JSR-303 Bean Validation once globally, as described in Section 7.8, “Spring 3 Validation”, and use it exclusively for all validation needs. An application can also register additional Spring Validator instances per DataBinder instance, as described in Section 7.8.3
MementoWeaverもそろそろメメントの生成処理を実装する時期になったようなので、採用するテンプレートエンジンを選定する。 最低の条件としては、Java SEから使用可能であることのみ。 MWの前身であるHPCMSではApache Velocity(1.6.2)を使用していた。 特にVelocityに不満があるわけでもないが、結局のところ今回はスクラッチから作り直しているので、HPCMSのvelocityテンプレートもそのまま流用というわけにはいかず、一応比較してみることにする。 選択肢 簡単にググッてみたところ、メジャーなものには以下がありそう。 最低条件はJavaSEからの利用だが、他の評価軸としては以下を考慮したい。 コミュニティの活発度 対応するテンプレートの種別 導入に伴うハードルの高さ コミュニティの活発度(2013.3.20現在) 選択肢 公式ページ Version 最
I met lombok today. I'm very anxious to know how it works. A Java Geek Article gives some clues but it's not perfectly clear to me: Java 6 removes apt and make javac able to manage annotations, streamlining the process to obtain a simpler single step computing. This is the path taken by Lombok. Maybe with Java 6 the compile process will be: javac -> apt -> lombok apt process -> read class files an
2013年5月14日に開催された、『Java Day Tokyo 2013』のオンデマンド版です。 各セッションを動画でご視聴いただけるほか、プレゼンテーション資料もダウンロードできます。 この資料に記載されている内容は、5月14日時点のものであり、製品の仕様・機能などについては今後、変更の可能性があります。
JaCoCo is a free code coverage library for Java, which has been created by the EclEmma team based on the lessons learned from using and integrating existing libraries for many years. Snapshot Builds The master branch of JaCoCo is automatically built and published. Due to the test driven development approach every build is considered fully functional. See change history for latest features and bug
FreeMarkerってべんりですよね! functionとかmacroで簡単なロジックも書けたりとか! でもなんかもうちょっとfunctionで色々やりたいとか思ったりもしますよね!しませんか! ぼくはしたのでやってみました! FreeMarker Manual - FAQ FreeMarker Manual - Bean wrapper このへんを軽く流し読みした限りだとTemplateMethodModelExを実装したクラスをConfiguration#setSharedVariableにぶちこめばいける雰囲気です。 その前にTemplateMethodModelっていうのもあってこれがTemplateMethodModelExと何が違うのかわかんないのでjavadocを見ます。 TemplateMethodModel (FreeMarker 2.3.20 API) Templat
Freemarkerのリファレンスの中でよく使用するものを日本語で解説。非エンジニアでも下記に書かれている一覧を覚えれば一通りのことはできるはず。 <#-- コメント --> 「<#--」で始め「-->」で閉じるとコメントになりHTMLコードに表示されない。 <#-- コメントが入ります。 --> <#include> ファイルを読み込んで表示する <#include "hoge.ftl"> <#global> グローバル変数を定義 <#global x = "hoge"> <#assign> 名前空間で有効な変数を定義 <#assign x = "hoge"> <#local> ローカル変数を定義 <#local x = "hoge"> デフォルト値の設定 変数がundefinedのときに表示する値を指定 ${title!"無題"} ?number 数値に型変換 <#assign num
宣言的トランザクションについて。 宣言的トランザクションはSpringAOPにより実現されるが、トランザクションを扱う専用のAspectを決まりきったやり方で適用するだけでいいので、AOPの概念をちゃんと理解してなくても使用できる。Springの宣言的トランザクションはEJBのCMTと似ており、メソッド単位でトランザクションの制御が可能。setRolbackOnlyをすることもできる。 SpringとEJB-CMTとの違いは以下のとおり。 JTAに依存していないので、JavaEE環境でなくても動く。設定変更するだけで、JTAとも連携できるし、ローカルなJDBC/JPA/Hibernateとも連携できる。 EJB以外の全てのクラスに対してトランザクションを設定できる。 Springはトランザクション制御に関して、プログラムで制御する方法と、宣言的に扱う方法の二通り提供する。 Springはト
This is an archived page. It's not actively maintained. Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine. Rhino downloads How to get source and binaries. Rhino documentation Information on Rhino for script writers and embedde
@AspectJアノテーションでアスペクトを定義するやり方について説明します。なお@AspectJスタイルは、そもそもAspectJ5で導入されたものです。SpringではAspectJで定義するアノテーションと連携します。AOPのランタイムはあくまでSpringのものであり、AspectJとは関係ありません。(APIだけぱくった)実際にAspectJと連携する例については、7.8で説明します。 7.2.1 Enabling @AspectJ Support @AspectJアノテーションを使うためには、@AspectJアノテーションベースのAOP/自動プロキシ生成の機能を適用する設定をします。まぁ要するにこう書けばいいわけです <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.o
Distributed and fault-tolerant realtime computation: stream processing, continuous computation, distributed RPC, and more
Java8のlambda構文の話を書くと、旧来の書き方でいいというコメントがつくのですが、それでも便利になったMapの恩恵を受けることは多いんじゃないかと思います。 ※ 2018/5/31 Java9からはメモ化再帰には使えなくなっています ※ 2019/2/15 なんか問題ない? Mapには、lambda式を使ったメソッドが多く追加されていますが、たとえばgetOrDefaultメソッドのようなlambda式を使わないメソッドも追加されていて、これも便利です。 そして、このようなlambda式を使わないメソッドも、間接的にはlambda構文サポートでの言語拡張のおかげです。 Mapはインタフェースなので、Java7までの構文でメソッドを追加しようとすると、Mapを実装しているすべてのクラスに新しいメソッドの実装を追加する必要がありました。そしてそれは現実的に不可能なので、今までMapなど
FakeSMTPはJava製、マルチプラットフォームで使えるダミーのSMTPサーバです。 テスト用にダミーのSMTPサーバが必要になったらFakeSMTPを使ってみましょう。Java製なのでマルチプラットフォームで使えて便利です。 メイン画面です。サービスを開始します。 開始しました。この状態でプログラムからメールを送ってみます。 リストに送信したメールがあがってきます。 ダブルクリックで本文が読めます。 ログです。 最後のメッセージは細かく見られます。 実際のメールアドレスを使って開発していて、間違って一括メール送信してしまったなどといったら目も当てられません。FakeSMTPを立てて決してメール送信されないようにしておけば安全に開発、運用ができるでしょう。 FakeSMTPはJava製のオープンソース・ソフトウェア(BSD License)です。 MOONGIFTはこう見る メール周り
Javaのイケてない日付関連の機能に頭を抱えた時、手を出したくなるライブラリ、Joda-Time。 Joda Time http://joda-time.sourceforge.net/ java.util.Calendarなんかよりも表現力豊かで多機能。そして何よりマルチスレッド下で走らせるとあっさり壊れるSimpleDateFormatとは違いimmutableでthread-safeな作りになっている安心の一品。 JSR310が仕事で使えるようになるのは2〜3年後とかいう割と先の話になりそうなので、今日は諦めてJoda-Timeの使い方を勉強してみた。 @Author mwSoft @Date 2011/12/23 @Env Joda-Time2.0 日時はDateTimeというクラスで扱える。 import org.joda.time.DateTime; // 引数なしの場合は現在
Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く