忍者ブログ
[261] [260] [259] [258] [257] [256] [255] [254] [253] [252] [251]

DATE : 2024/04/20 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2007/01/30 (Tue)

入力値と Backing Bean 間、Backing Bean と UIInput/ UIOutput 間で値の変換を行う Converter の中でも自作のものを指定する方法には、次の3種類があります。

  1. UIInput / UIOutput 系の要素の converter 属性で指定する。
    1. javax.faces.converter.Converter インタフェースを実装したクラスの完全修飾名で指定する。
    2. アプリケーションに登録された Converter の ID で指定する。
  2. f:converter 要素で指定する。

それぞれの例を示すと、次のようになります。(「...」は省略を表します)

<%-- converter 属性にクラスの完全修飾名で指定 --%>
    <h:inputText converter="myapp.MyConverter" ... />

<%-- converter 属性に ID で指定 --%>
    <h:inputText converter="converter" ... />

<%-- f:converter 要素で指定 --%>
    <h:inputText ... >
        <f:converter converterId="converter" />
    </h:inputText>

ところで、JSF では、Backing Bean やそのプロパティを指定するためによく次のようなコードを書きます。

<%-- person という Backing Bean の name プロパティを出力する --%>
<h:outputText value="#{person.name}" />

(;^ω^)そのため、Converter を指定する際に次の間違いを犯してしまいました。

<%-- 以下は間違い --%>
<h:inputText converter="#{converter}" ... />

(;´Д`)間違えて上のように指定した場合、入力値と Backing Bean 間でデータ型が異なっていればアプリケーションがエラーを吐きますが、データ型が同じ(java.lang.String)の場合は、何事もなかったかのように処理が進行します。

参考文献

PR
●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
●この記事へのトラックバック
この記事にトラックバックする:
忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック