我们现在来探讨流程的<view-state>问题:

因为流程代表了页面的跳转,那么我们如何才能找到view-state对应的页面呢?

 

我们回到envprovisioning-confg.xml,在29-33行有如下定义:

 
  
  1. <!-- Maps logical view names selected by the url filename controller to .jsp view templates within the /WEB-INF directory -->    
  2.     <bean id="internalJspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
  3.         <property name="prefix" value="/WEB-INF/" /> 
  4.         <property name="suffix" value=".jsp" /> 
  5.     </bean> 
  6.      

按照Spring的惯例,不主张吧jsp放在WEB-INF的外面,而是都放在WEB-INF的里面起到保护的作用,所以这些jsp就只能充当页帧了。所以当flow定义文件中有<view-state>,就会到同一级目录中找到这个view-state id字段标注的名字对应的jsp页面。

 

比如说,我们的流定义文件在/WEB-INF/flows/envprovision/envprovision.xml ,j假设我们流中定义了一个<view-state id="defineApp"> ,那么这个view-state就用/WEB-INF/flows/envprovision/defineApp.jsp来进行渲染。