8

NVLOracle関数のように、JSF EL式でnullをデフォルト値に置き換える方法はありますか?

私は私が次のようなことをすることができることを知っています

#{obj == null ? 'None' : obj.property}

しかし、それを自動的に行う方法があることを望んでいたので、三項エルビス演算子の両側で同じ式をコピーして貼り付けることはしません。

私はのようなものを探しています

#{default(obj.property, 'None')}
4

2 に答える 2

8

ELにはそのようなものは存在しません。今も将来もありません。

あなたの最善の策は、カスタム EL 関数を作成することです。

#{my:def(obj.property, 'None')}

(注: defaultJava キーワード/リテラル​​と同様に、この名前を EL の関数名として正確に使用することは無効です)

JSF ユーティリティ ライブラリOmniFaces#{of:coalesce()}を使用している場合は、正確な目的で使用できます。

以下も参照してください。

于 2012-09-11T19:10:54.753 に答える