4

Seam / JSF に基づいた簡単なテンプレート言語をアプリケーションに追加して、ユーザーが独自の電子メールを作成できるようにしたいと考えています。

新しいパーサーを作りたくないので、自分でコンテキストを設定する統一表現言語を使用したいと考えています。

どうやってやるの?

4

1 に答える 1

11

JSF コンテキスト内にいる場合は、Application#evaluateExpressionGet()EL 式を含む文字列をプログラムで評価するために使用します。

String unevaluatedString = convertMailTemplateToStringSomehow();
FacesContext context = FacesContext.getCurrentInstance();
String evaluatedString = context.getApplication().evaluateExpressionGet(context, unevaluatedString, String.class);
// ...

JSF コンテキスト内に座っていない場合は、JUELなどのスタンドアロン EL API を使用する必要があります。または、すでに EL 3.0 を使用していて、文字列が唯一の EL 式を表している場合は、ELProcessorAPI を使用してください。

ELProcessor el = new ELProcessor();
el.defineBean("bean", new Bean());
el.eval("bean.foo"); // Without starting #{ and ending } !
// ...
于 2012-10-22T16:40:13.703 に答える