2013-07-05 3 views
1

У меня есть один вид jsp.Весна 3.2.2 + Tiles3 + i18n не найден

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 

     <div class="container-fluid"> 

      <div class="logo row-fluid"> 

       <div class="span12"> 

        <img src="<c:url value="/img/logo.png"/>" /> 

       </div> 

      </div> 

      <div class="row-fluid"> 

       <div class="span6"> 

        <form> 

         <fieldset> 

          <legend></legend> 

         </fieldset> 

        </form> 

       </div> 

       <div class="span6"> 

        <form> 

         <fieldset> 

          <legend><spring:message code="home.form.legend.local"/></legend> 

         </fieldset> 

        </form> 

       </div> 

      </div> 

     </div> 

С <spring:message /> тегов JSP порвал с этим сообщением: org.springframework.web.util.NestedServletException: обработка запроса не удалось; Вложенное исключение - org.apache.tiles.request.render.CannotRenderException: ServletException, включая путь '/WEB-INF/jsp/public_layout.jsp'.

При удалении <spring:message /> тег запускается без проблем.

ххх-servlet.xml конфигурации:

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/> 
</bean> 

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

tiles.xml:

<tiles-definitions> 

    <definition name="public.layout" template="/WEB-INF/jsp/public_layout.jsp"> 
     <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
    </definition> 

    <definition name="home" extends="public.layout"> 
     <put-attribute name="body" value="/WEB-INF/jsp/home.jsp" /> 
    </definition> 

</tiles-definitions> 

public_layout.jsp:

<%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 

<tiles:insertAttribute name="header" /> 

<tiles:insertAttribute name="body" /> 

<tiles:insertAttribute name="footer" /> 

Контроллер:

@RequestMapping({"/", "/index"}) 
public String showHome() { 

    return "home"; 
} 

ответ

0

org.springframework.web.util.NestedServletException: обработка запроса не удалась; Вложенное исключение - org.apache.tiles.request.render.CannotRenderException: ServletException, включая путь '/WEB-INF/jsp/public_layout.jsp'.

это только говорит, что произошла ошибка в public_layout.jsp должна быть другая ошибка более конкретно к <spring:message /> отказа

+1

Привет MCK, я решил проблему с помощью FMT TagLib вместо пружины taglig. Спасибо вам за интерес. ;) – Dani