2017-07-02 14 views
0

javaラムダ演算子を使用すると例外を評価してSpringELという表現が出ます。タイマーでJavaラムダ関数演算子( - >)を使用

例:list.stream().map(a -> a.toString()).reduce("",(a,b) -> a+b)

+1

なぜJava側でこのステートメントの結果を評価して、それをテンプレートエンジンに渡しませんでしたか? – Andrew

+0

私はテーブルを作成しているので、すべての繰り返しでこの操作が必要です。しかし、私はこの操作を静的メソッドとして追加し、リストを引数として渡すことができます。このアプローチでは、保守可能なコードは提供されません。 –

+0

あなたはできません。あなたができることを知るためのリファレンスを見てください:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html – Pau

答えて

1

は、次のような関数を定義する:

package com.mypackage; 
public class CollectorsMap { 
    public static final List<String> name(Stream<AbstractName> stream) { 
     return stream.map(v->v.getName()).collect(Collectors.toList()); 
    } 
} 

次のようなものでそれを呼び出す(値は、値のリストである):

th:with="valueNames=${T(com.mypackage.CollectorsMap).name(values.stream())}" 

これは、オブジェクトの元のリストの名前フィールドのリストを返します。

関連する問題