有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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。释放

你对这个问题有什么解释吗

提前谢谢


共 (2) 个答案

  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. # 2 楼答案

    更改Springbeans模式版本。您使用的是2.5,但它应该是3.0