プログラミングTips
Ajax4jsfのタグを利用すると、通常のJSFの入力フィールドを簡単にAjax化できます。たとえば以下のようにして <h:inputText value="#{user.emailAddress}" > <a:support event="onblur" ajaxSingle="true" reRender="errorMessage"/> </h:inputText> 入力フィールドのフォーカスが外れた時点でAjaxでPOSTリクエストを送信し、バリデーションをかけることが可能です。 おなじ要領でやの入力をAja…
JPAの仕様では@ManyToOneなど関連先が1個になる関連はデフォルトでeager関連となります。特に、JPAのプロバイダーとしてHibernateを利用する場合、eager関連はデフォルトでOUTER JOINされてしまうため、多くの関連を定義すると一気に大量のJOINが行われてし…
SeamアプリケーションでHttpServletRequestなどのサーブレットAPIのオブジェクトにどうやってアクセスするか、知らないとどうやってやるべきかすぐにわからないのですが、FAQとして以下にやり方が書いてあったので、メモしておきます。 http://seamframework…
従来のSpring開発者の常識では、web.xmlにて ContextLoaderListenerを設定してWebアプリケーションで共通のコンテキストを読み込む DispatcherServletを設定して、サーブレットごとのコンテキストを読み込む というように2階層のアプリケーションコンテキス…
JavaEE 6標準は、従来のJavaEE 5に対してさらなるEoDと軽量化を目指しているということだったのですが、いざ使おうと思うと、名前が同じアノテーションが複数のパッケージに定義されていたり、意味的にほとんど違いがないようなアノテーションが存在していた…
ここ1ヶ月ほどで、JBoss Toolsを使ったSeamの開発環境を構築する上でいろいろ行った対応について、手順を以下にまとめておきます。JBoss ASのバージョンは5.1.0.GAを前提とします。 JBoss Toolsのインストール 現時点では、(Eclipse 3.6ベースのプラグイン…
Seamの便利な機能の一つにタグを使って変換を行い、エンティティのリストを使って直接画面の選択項目を描画させる機能があります。たとえば、アクションクラスのどこかで @SuppressWarnings("unchecked") @Factory(scope = ScopeType.APPLICATION) public Li…
基本的なことかも知れませんが、JBoss AS 5.1で個別にカテゴリのログレベルを設定しているにもかかわらず、コンソールにデバッグレベルのログを出力できずに、結構はまったので回避策をメモします。原因がわかれば、何のことはないというか、 [サーバーディ…
http://seamframework.org/85172.laceなど多くのサイトでfaceletsで多数のloadImplicitというERRORログが出力される問題が報告されていますが、結局JDKのloggerとlog4jとの連携がうまくいっていないことが原因のようです。JBoss AS 4.2.3やtomcat上で発生す…
会社の環境などインターネットに直接接続できず、HTTP Proxyサーバー経由でのアクセスしかできない環境ではSeamTestの実行時に勝手にDTDを検索に行ってしまい、「UnknownHostException: www.jboss.org」で例外となってしまうようです。 とりあえずの対処とし…
ホットデプロイが完全でないことやメモリーリークの問題(Seamアプリの再デプロイを繰り返すと遅かれ早かれOutOfMemoryErrorが発生する)があることなどから、JBoss AS5.1.0のdefault構成で起動すると、あまりにも起動時間が長いことが開発生産性を低下させ…
Seamのステートフルなアーキテクチャーを活かした例として、入門書などにはよく@DataModelと@DataModelSelectionを組み合わせて一覧からエンティティを選択するような例が書かれています。たとえば、Seamのディストリビューションのexamples\messagesという…
Seamの便利な機能のひとつとして、ページパラメーターという機能があります。pages.xmlでページパラメーターを指定しておくと、その画面に遷移するときに渡されたHTTPリクエストパラメーターを自動的に処理してBeanにバインドしてくれたり、逆にパラメーター…
JBoss Tools3.1で生成したSeamのWebアプリケーションですが、デフォルトの構成ではJBoss AS5.1.0に対してアクションクラスなどhotフォルダー配下のクラスのインクリメンタルな置換が利きません。(JBoss AS4.2なら大丈夫。)アクションクラスなどを少しでも…
以下のブログでも記述されているとおり、 http://d.hatena.ne.jp/penguins/20100303/p3 JBossTools3.1(eclipse3.5.2)でもxhtmlファイルでエディタが自動認識するエンコーディングに問題があるようです。 テンプレートのルートとなるファイル(template.xht…
私は長いことSpringで開発してきたので、Seamの@Inや@Outを使ったバイジェクションという考え方に慣れるのが大変でした。 SpringやSeasar2などの一般的なDIとSeamのバイジェクションに違いについては以下の2点が重要だと思います。 1.普通のDIと違いバイジェ…
JSPの場合は、 <%@ page pageEncoding="Windows-31J" contentType="text/html;charset=UTF-8" %> のようなディレクティブを指定することで、レスポンスのエンコーディングによらず、ソースファイルのエンコーディングを指定できたのですが、faceletsで同様の…
SeamやJSF2.0では画面をfaceletsを使って作成することが推奨されます。 JSPであれば、最終的なhtmlのソースに表示したい場合はhtml形式ののコメントを使い、そうでない場合はの形式を使えばよいのですが、faceletsの場合はどうすればよいのでしょうか? http:…