java找不到元素“webflow:flowbuilderservices”的声明
我第一次尝试在Spring mvc应用程序中集成SWF,但我遇到了以下错误:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException
in XML document from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: XX; columnNumber: XX; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'webflow:flow-builder-services'
这是我的mvc调度程序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>
我正在使用Spring3.0.3。发布并启动webflow 2.1.1。释放
你对这个问题有什么解释吗
提前谢谢
# 1 楼答案
你们是对的
这是版本不匹配。在使用SWF2.1.1时,我还将SpringWebFlow模式版本更改为
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
。释放PS:验证maven下载的SpringJAR并将其版本与模式位置中声明的版本进行比较也很重要。(如果使用spring webflow 2.1.1,架构位置必须声明spring-webflow-config-2.0而不是spring-webflow-config-2.3,其他spring JAR/架构声明也是如此)
# 2 楼答案
更改Springbeans模式版本。您使用的是2.5,但它应该是3.0