spring webflow 可以处理 "evaluate" 标签内的动态表达式吗?

can spring webflow handle a dynamic expression inside "evaluate" tag?

我看到在 spring webflow 中你可以为视图使用动态表达式

<view-state id="error" view="error-#{externalContext.locale}.xhtml" />

我可以对评估做同样的事情吗?类似于:

 <evaluate expression="#{variable}Controller.processData()" />

在此先感谢您的帮助。

让我回答我自己的问题:不,那不可能。根据 spring webflow 的 xsd:

<xsd:attribute name="expression" type="expression" use="required">

哪里

<xsd:simpleType name="expression">
    <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

<xsd:simpleType name="template">
    <xsd:restriction base="xsd:string"/>
</xsd:simpleType>

根据文档,表达式应该属于 "template" 类型,以便对其进行求值。

这是一个想法:

<evaluate expression="webFlowUtil.getBean(variable.concat('Controller'))" result="flowScope.controller"/>

@Component
public class WebFlowUtil {

    @Autowired
    private ApplicationContext applicationContext;

    public Object getBean(String beanName) {
        return applicationContext.getBean(beanName);
    }
}

以后再用

<evaluate expression="controller.processData()" />