代码之家  ›  专栏  ›  技术社区  ›  xetra11

使用spring el将值设置为lambda

  •  0
  • xetra11  · 技术社区  · 6 年前

    我想创造一个 <map></map> 属性通过spring xml配置。这个 Map 应该持有类型的密钥 String 以及类型的值 Predicate . 我现在可以创建一些特定的类来实现 谓语 但我想避开这个样板。

    我想通过 春季表达语言 . 我读到有关 FunctionalReferences Spring 但我还没能清醒过来。

    实际执行 :

      <constructor-arg>
          <map> 
             <entry key="FormElement#viewtype" value="#{<!-- what to do here -->}"></entry>
          </map>
      </constructor-arg>
    

    理解链接的文档,我尝试了如下方法:

     <constructor-arg>
          <map> <!-- Map<String, Predicate<Object>> -->
             <entry key="FormElement#viewtype" value="{|object|$object == 'fooView'}"></entry>
          </map>
      </constructor-arg>
    

    误差 : <expression> expected, got '|'

    我知道 表达 语言需要一个表达式,但我真的想在这里传递一个lambda作为值。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Gary Russell    6 年前

    javadoc是不正确的;lambdas没有在spel中进行最后的切入 commit here .