Spring Web Flow: как вызвать статический метод из <define />? - PullRequest
5 голосов
/ 23 ноября 2010

Мне нужно вызвать статический метод класса org.hibernate.Hibernate . Как это сделать в элементе потока?

Ответы [ 2 ]

13 голосов
/ 25 ноября 2010

Вы можете использовать следующую конструкцию Spring EL для оценки статических методов:

<evaluate expression="T(org.hibernate.Hibernate).initialize(yourObject)"/>

См. Соответствующую ссылочную часть Spring EL:

http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/expressions.html#expressions-types

0 голосов
/ 23 ноября 2010

spring-webflow 2 использует выражения OGNL. OGNL допускает статическую ссылку на поля и методы. Чтобы использовать его, вы хотели бы использовать обозначения «@».

Сначала вы ссылаетесь на класс (с пакетом). Вы хотели бы поставить @ перед пакетом и именем класса и @ перед вызовом метода. С hibernate это будет выглядеть как

<evaluate expression="@org.hibernate.Hibernate@initialize()"/>
...