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()" />
我看到在 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()" />