我第一次尝试将 SWF 集成到 Spring mvc 应用程序中,但收到此错误:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException
ServletContext 资源 [/WEB-INF/mvc-dispatcher-servlet.xml] 中的 XML 文档无效;嵌套异常是 org.xml.sax.SAXParseException;行号:XX;栏目编号:XX; cvc-complex-type.2.4.c:匹配通配符严格,但找不到元素“webflow:flow-builder-services”的声明
这是我的 mvc-dispatcher-servlet.xml 文件(由 web.xml 中的 contextConfigLocation 引用)
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:webflow="http://www.springframework.org/schema/webflow-config"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/webflow-config
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd">
<bean name="/welcome.htm" class="com.test.app.controller.MainController" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- ================================================================== -->
<!-- Spring Web Flow stuff -->
<!-- ================================================================== -->
<bean id="viewFactoryCreator"
class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
<property name="viewResolvers" ref="viewResolver" />
</bean>
<webflow:flow-builder-services id="flowBuilderServices"/>
<webflow:flow-registry id="flowRegistry"
flow-builder-services="flowBuilderServices">
<webflow:flow-location path="/WEB-INF/flows/helloworldflow.xml" />
</webflow:flow-registry>
<webflow:flow-executor id="flowExecutor"
flow-registry="flowRegistry">
</webflow:flow-executor>
<!-- Enables FlowHandler URL mapping -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
<property name="flowExecutor" ref="flowExecutor" />
</bean>
<!-- Maps request paths to flows in the flowRegistry; e.g. a path of /hotels/booking
looks for a flow with id "hotels/booking" -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry" />
<property name="order" value="0" />
</bean>
我正在使用 spring 3.0.3.RELEASE 和 spring webflow 2.1.1.RELEASE
您对这个问题有解释吗?
提前致谢
最佳答案
更改您的 spring beans 架构版本。您使用的是 2.5,但它应该是 3.0。
关于java - 找不到元素 'webflow:flow-builder-services' 的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235058/