2012-10-01から1ヶ月間の記事一覧

CDIとiBATIS2.3を組み合わせる

ネイティブクエリのみをシンプルに実行したい場合は、まだまだiBATIS(MyBATIS)を使う機会もあると思います。ここではiBATIS2.3とJava EE6のContest and Dependency Injection(CDI)を組み合わせて、JPAのEntityManagerのように、iBATISのSqlMapClientをインジ…

BeanValidationで日本語メッセージを出力する

BeanValidation1.0の参照実装であるHibernate Validatorのデフォルトメッセージは英語です。例えば@NotNullでは「may not be null」、@AssertTrueでは「must be true」といったメッセージが出力されます。通常、JSF2.0を組み合わせて使うときには『"名前"が…

@NotNull/@NotEmpty/@NotBlankの違い

JavaEE6から新しい仕様BeanValidation(JSR303)が導入されています。BeanValidationではアノテーションでユーザ入力チェックを定義することができます。Struts1.xではvalidation.xmlの記述量が多く、度重なるタイプミスとランタイムエラーに苦しめられてきま…

ELとCDI管理Beanがうまく結びつかないとき

Struts1.xユーザがJSF2.0に移行すると、javax.el.PropertyNotFoundExceptionが500エラーの原因として表示されたり、@ModelでアノテートしたCDI管理Beanのパラメータが#{bean.property}でうまく出力されないことがあると思います。この原因は主に2つあります…

JavaEE7の"Managed Bean"の行方

JavaEE6を使い始めて、つまずいたのが"Managed Bean"の考え方。JavaEE6では、大きく分けて以下のコンテナ管理Beanがある。 JSFのManagedBean CDIのManagedBean EJBのManagedBean Servlet、Filter、JAX-RS、JPAなどのその他コンテナ管理オブジェクト @javax.a…