0

C# ディクショナリを使用するのと同じように、テーブルで何かを検索するために OGNL を作成する必要がありました。これはとても簡単でした:

#mapping=#{"XYZ":"1234","YZX":"5678"},
#mapping.get(this.A.toString())

しかし今、私の要件は変わりました。ここで、さらに複雑なルールを作成する必要がありますが、OGNL でそれができるかどうかはわかりません。更新された式にはいくつかの要件があります。ここで、2 つの個別の値とその組み合わせについて心配する必要があります。値を A および B と呼びます。ルールは次のようなものです。

  1. A の特定の値が表示された場合は、常に同じ値を返します。
  2. A と B の値の特定の組み合わせが表示される場合は、別の値を返します。
  3. A の値が特に気にするもの以外にある場合は、別の値を返します。

A と B のすべての可能な値のリストがあれば、それらを連結するたびに非常に大きなハッシュテーブルを作成し、それぞれの場合に適切な値を返すことができます。ワイルドカードを使用できれば、これははるかに簡単になるようです。これを実装する方法、または OGNL で可能かどうかについて考えている人はいますか?

4

1 に答える 1

0

正直なところ、私はおそらくこのロジックを Java メソッドに移したいと思います。あなたは最終的に ognl のようにあなたが望むことをする方法を理解するかもしれません? スタイルの null ハンドラーもサポートされていますが、わざわざする必要はありません。

プロジェクションと Java 言語がサポートする数の再帰的評価をサポートしていますが、私にはわかりません。. 私はこれを別の場所に移動することを選択します.ognl自体に重要な貢献/バグ修正/変更を行い、それをよく知っています.

于 2012-05-18T19:03:11.793 に答える