找不到元素[executor]的BeanDefinitionParser

时间:2010-04-05 10:24:27

标签: spring spring-mvc spring-webflow

我正在尝试学习Spring MVC 2.0和Spring Web Flow 1.0。

我收到以下错误(可能是调度程序委托流程请求时):

  

配置问题:找不到元素[executor]

的BeanDefinitionParser

我在应用程序的构建路径中使用Spring 2.0和Web Flow 1.0 jar文件。

下面是我的Spring MVC 2.0配置文件:

<bean name="/phonebook.htm" 
      class="org.springframework.webflow.executor.mvc.FlowController">
    <property name="flowExecutor" ref="flowExecutor"/> 
</bean> 
<!-- Resolves flow view names to .jsp templates --> 
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp">
</bean>

我的Spring Web Flow 1.0配置:

<flow:executor id="flowExecutor" registry-ref="flowRegistry"/> 
<!-- Creates the registry of flow definitions for this application --> 
<flow:registry id="flowRegistry"> <flow:location path="/WEB-INF/flows/**-flow.xml"/>
</flow:registry> 

2 个答案:

答案 0 :(得分:1)

当eclipse将Web应用程序部署到tomcat时,它也将这些jar文件部署到lib目录中,而不是在构建路径中。所以现在当tomcat执行时...它可能会找到两个用于Web流的jar文件,即webflow 1.0和webflow 2.0并给我错误..即当webflow的两个不同版本的jar文件都在lib director中时。

我还要感谢skaffman的支持..

答案 1 :(得分:0)

好的,所以看起来问题出在你的webflow配置中的<flow:executor>元素。 Spring抱怨它不明白这意味着什么,这可能是因为你错过了配置文件中的命名空间声明。这看起来像这样:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:flow="http://www.springframework.org/schema/webflow-config"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/webflow-config
           http://www.springframework.org/schema/webflow-config/spring-webflow-config-1.0.xsd">

你的根元素必须是这样的。请参阅文档here