tomcat无法在spring maven项目中找到webflow

时间:2015-05-13 17:29:43

标签: spring maven jsf spring-webflow

我知道Spring网络流程集成,我正在尝试配置我的网络流程,但在某些原因,当我不想启动我的项目时,Tomcat向我显示404消息,就像他找不到我的main-flow.xml一样state.xhtml的状态。

我正在从

中的网址重定向
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:c="http://java.sun.com/jsf/core"
      xmlns:ui = "http://java.sun.com/jsf/facelets"
      xmlns:h = "http://java.sun.com/jsf/html">
<head>

<title>Insert title here</title>
</head>
<h:body>

    <h:outputLabel value="Hello World"></h:outputLabel> 

</h:body>
</html>

的index.jsp。

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/webflow
        http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd">

    <view-state id="welcome">

    </view-state>



</flow>
<?xml version="1.0" encoding="UTF-8"?>
<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"
           xmlns:faces="http://www.springframework.org/schema/faces"
           xsi:schemaLocation="
                        http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/webflow-config
                        http://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd
                        http://www.springframework.org/schema/faces
                        http://www.springframework.org/schema/faces/spring-faces.xsd">

           <bean id="jpaFlowExecutionListener" class="org.springframework.webflow.persistence.JpaFlowExecutionListener">
                <constructor-arg ref="entityManagerFactory" />
                <constructor-arg ref="transactionManager" />
        </bean>

          <bean id="facesContextListener" class="org.springframework.faces.webflow.FlowFacesContextLifecycleListener" />              


        <webflow:flow-executor id="flowExecutor">
                <webflow:flow-execution-listeners>
                        <webflow:listener ref="jpaFlowExecutionListener" />
                        <webflow:listener ref="facesContextListener"/>
                </webflow:flow-execution-listeners>
        </webflow:flow-executor>

         <webflow:flow-registry id="flowRegistry" flow-builder-services="facesFlowBuilderServices" base-path="/WEB-INF/flows">
                <webflow:flow-location-pattern value="/main/*-flow.xml" />
        </webflow:flow-registry>    

        <faces:flow-builder-services id="facesFlowBuilderServices" development="true" />

        <faces:resources />

        <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
                <property name="order" value="1"/>
                <property name="flowRegistry" ref="flowRegistry" />
                <property name="defaultHandler">
                        <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
                </property>
        </bean>

        <bean class="org.springframework.faces.webflow.JsfFlowHandlerAdapter">
                <property name="flowExecutor" ref="flowExecutor" />
        </bean>

        <bean id="faceletsViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
                <property name="viewClass" value="org.springframework.faces.mvc.JsfView"/>
                <property name="prefix" value="/WEB-INF/flows" />
                <property name="suffix" value=".xhtml" />
        </bean>

        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />



 </beans>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
        <meta http-equiv="refresh" content="0; URL=/app/main" />
    </head>
    <body></body>
</html

1 个答案:

答案 0 :(得分:0)

你打什么网址? URL模式中将忽略Web流文件名。

假设流程在“/WEB-INF/flows/main/main-flow.xml”中定义,并且您的“基本路径”设置为“WEB-INF / flows”。然后导航到您转到的流程

http://<your-host>/<your-webapp-name-if-defined>/main

流文件名完全被忽略,根本不在URL中使用。

此外,您还应为视图指定视图名称以呈现内容

<view-state id="welcome" view="myView">

</view-state>