ループを使用した単純な JEXL の例はありますか。単純なオブジェクト配列リストを繰り返し処理して、さまざまな文字列値を出力しようとしていますか?
15850 次
4 に答える
5
452' の入力を含む完全な例は次のとおりです。
public static void testSimpleList() { List<String> list = new ArrayList<String>(); list.add("one"); list.add("two"); JexlContext jexlContext = new MapContext(); jexlContext.set("list", list);; Map<String, Object> functions1 = new HashMap<String, Object>(); functions1.put("system", System.out); JexlEngine jexl = new JexlEngine(); jexl.setFunctions(functions1); Expression expression = jexl.createExpression("for(item : list) { system:println(item) }"); expression.evaluate(jexlContext); }
出力:
one two
于 2015-10-12T21:19:54.607 に答える
3
式の代わりにスクリプトを使用する必要があるようです。
これは、「「for」の解析エラー」というエラーで失敗します
e = new org.apache.commons.jexl3.JexlBuilder().create();
c = new org.apache.commons.jexl3.MapContext();
c.set("a", Arrays.asList(1,2,3));
e.createExpression("for(x : a) { b=x }").evaluate(c)
ただし、これは機能します
e.createScript("for(x : a) { b=x }").evaluate(c)
于 2017-01-01T15:24:47.293 に答える