Spring tiles2定义不适用于ControllerClassNameHandlerMapping

Spring tiles2定义不适用于ControllerClassNameHandlerMapping,spring,spring-mvc,tiles,tiles2,url-mapping,Spring,Spring Mvc,Tiles,Tiles2,Url Mapping,我使用ControllerClassNameHandlerMapping来避免将URL显式映射到控制器,到目前为止,它还可以正常工作。我在index.jsp中有一个到welcome.html的链接,该链接已正确映射到welcomeController,其中包含以下内容: setCommandClass(User.class); setCommandName("user"); setSuccessView("homeView"); setFormView("welc

我使用ControllerClassNameHandlerMapping来避免将URL显式映射到控制器,到目前为止,它还可以正常工作。我在index.jsp中有一个到welcome.html的链接,该链接已正确映射到welcomeController,其中包含以下内容:

    setCommandClass(User.class);
    setCommandName("user");
    setSuccessView("homeView");
    setFormView("welcomeView");
问题是,当我尝试在tiles.xml定义中添加具有该URL的tile时,如下所示:

<definition name="welcome" extends="base.definition">
    <put-attribute name="title" value="Welcome!"/>
    <put-attribute name="body" value="/WEB-INF/jsp/welcomeView.jsp"/>
</definition>

我在dispatcher-servlet.xml中声明的唯一tiles bean是:

<bean id="tilesConfigurer"
      class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
      <property name="definitions">
          <list>
              <value>/WEB-INF/tiles.xml</value>
          </list>
      </property>
</bean>

/WEB-INF/tiles.xml
到目前为止,我尝试了许多tiles.xml文件的排列,但都没有成功。视图加载正确,控制台中没有错误,但看不到平铺。 我错过了什么


提前感谢(:

看起来您可能没有为磁贴配置
视图解析器

您可以在
UrlBasedViewResolver
ResourceBundleViewResolver
之间进行选择


看起来当前它正在将视图名称(
welcomeView
)解析为相应的jsp(
welcomeView.jsp
),因此您无法获得平铺。

我声明了如下视图解析程序

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp"
      p:viewClass="org.springframework.web.servlet.view.tiles2.TilesView"
/>

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp"
      p:viewClass="org.springframework.web.servlet.view.tiles2.TilesView"
/>