1

ユーザーが tr:inputText によって生成された入力に空白を挿入してフォームを送信すると、入力に設定された JSF コンバーターで送信された値が取得されます (私のコンバーターはトリミングしません)。しかし、マネージドBeanにnull値(入力に来た元の値)を取得します。

JSF ページ:

<tr:inputText label="..."
  value="#{ManagedBean.object.defaultValue}" id="defValueId"
  converter="#{MyConverter}">
  <tr:validateLength maximum="255"/>
  <f:attribute name="domainId" value="domainId"/>
</tr:inputText>

h:inputText を使用すると、マネージド Bean に送信された値が取得されます。

トリニダードが空白を無視する理由と場所は? h:inputText と同様に機能するように何かを変更できますか。

注: 私は JSF 1.2 と Trinidad 1.2.13 を使用しています。ここでは、空の文字列を null にする問題を解決していません。

4

1 に答える 1

3

JSF 式言語 (EL) 内では、さらに JSF 式言語関数を使用できます。Facelets がサポートする Expression Language は、Unified Expression Language と呼ばれます。したがって、inputText でトリム関数を呼び出したい場合は、次のようになります。

<h:inputText value="#{trim[ramdomText]}"/>

詳細情報: http://java.sun.com/products/jsp/reference/techart/unifiedEL.html

于 2011-08-01T13:55:12.147 に答える