Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringWebFlow视图解析器配置:JSP文件的子文件夹_Spring_Jsp_Spring Webflow 2 - Fatal编程技术网

SpringWebFlow视图解析器配置:JSP文件的子文件夹

SpringWebFlow视图解析器配置:JSP文件的子文件夹,spring,jsp,spring-webflow-2,Spring,Jsp,Spring Webflow 2,使用Spring webflow和serlvet配置,我为JSP文件提供了以下内容: <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".

使用Spring webflow和serlvet配置,我为JSP文件提供了以下内容:

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

以下是XML文件的流程:

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

由于
/**/
的原因,任何流XML文件(可能在子目录中,也可能不在子目录中)都会自动解析,因此我不需要在流定义中指定子文件夹。 对于JSP,
***
似乎不起作用


有没有办法做到这一点?我喜欢使用子目录,因为它使它看起来更干净,而不必在PackageExplorer中滚动浏览一堆JSP文件。另一方面,如果每次都必须指定子目录,则很可能无法检测到输入错误

我认为没有办法在“prefix”或“suffix”属性中指定ant样式的通配符

正如您所说,您可以在流定义中指定路径,如下所示

<view-state id="showSearchCriteria" view="customer/search">
    <transition on="lookupCriteriaEntered" to="searchCustomer" />
</view-state>

虽然不是一个优雅的解决方案,但您可以在jsp文件夹的多个子文件夹中尝试jsp,使用tile作为:

    <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView"/>
    </bean>
    <bean id="tilesConfigurer"  class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
          <property name="definitions">
            <list>
                <value>/WEB-INF/tilesDef.xml</value>
            </list>
          </property>
    </bean> 
或作为:

    new ModelAndView("page2");
但是这样做的缺点是,由于定义名称是唯一的,所以不能在不同的文件夹中有两个同名的JSP

    new ModelAndView("page1");
    new ModelAndView("page2");