2012-01-01から1年間の記事一覧

JSF2.0でボタンの2度押しチェックをする

この記事は Java EE Advent Calendar 2012*1 の12/18分の記事です。昨日は@yumix_hさんの JAX-RSでファイルアップロード! です。 明日は@den2snさんです。今回は、ボタンの2度押しチェックについて考えてみたいと思います。 1. ボタンの2度押しとは 2度押し…

Faceletsにコメント文を書く

FaceletsのXHTMLにコメントを書く時に少しはまったのでメモ。(以下のコードはJBossAS7.1で確認) うまくいかない例 (HTMLコメントをそのまま使う) コマンドボタンを以下のようにコメントアウトすると、Submitしたときではなく、ボタンを含むページを開いたと…

Apache MyFaces Extension Validator(extVal)で相関チェック

BeanValidationはJSF2.xと統合した場合に、JSFから自動的に呼び出されるのはプロパティ単位のバリデーションのみである。クラス単位のバリデーションは呼び出されない。 (参考 http://stackoverflow.com/questions/11972419/cross-field-bean-validation-why…

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…

JavaEE7からPaaS対応が見送られた

JavaOne2012の準備をする。英語がまともに聞き取れないので、出発する前から報告書の準備をする。こんな時には、Java Community Process、一部の重要な情報だけに見えるが、いくつかの議論の内容をメーリングリスト公開している。私のように英語が苦手な人間…