Spring + Tiles

0

Witam, mam problem z połączeniem springa i tiles.

servlet-context.xml

 	<beans:import resource="tiles-context.xml" />

tiles-context.xml

<?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:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="
  http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
<bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="0">
    <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>classpath:../spring/appServlet/tiles-definitions.xml</value>
   </list>
  </property>
 </bean>
  
</beans> 

tiles-definition

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
       
       
<tiles-definitions>
    <definition name="main.definition"
        template="classpath:../views/home.jsp">
        <put-attribute name="top" value="classpath:../views/constant/top.jsp" />
        <put-attribute name="header" value="classpath:../views/constant/header.jsp" />
        <put-attribute name="container" value="classpath:../views/constant/container.jsp" />
        <put-attribute name="bottom" value="classpath:../views/constant/bottom.jsp" />
        <put-attribute name="footer" value="classpath:../views/constant/footer.jsp" />
    </definition>
 
    <definition name="login" extends="main.definition">
        <put-attribute name="container" value="classpath:../views/user/login.jsp" />
    </definition>
 
</tiles-definitions>

home.jsp

 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ page session="false" %>
<!DOCTYPE html>
<html>
<head>
	<title>Portfolio</title>
	<meta charset="UTF-8">
</head>
<body>

	<div><tiles:insertAttribute name="top" /></div>
	<div><tiles:insertAttribute name="header" /></div>
	<div><tiles:insertAttribute name="container" /></div>
	<div><tiles:insertAttribute name="bottom" /></div>
	<div><tiles:insertAttribute name="footer" /></div>

</body>
</html>

**Pozostałe pliki podłączone do home.jsp wyglądają tak samo,a mianowicie: **

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ page session="false" %>
<!DOCTYPE html>
<html>
<head>

	<meta charset="UTF-8">
	
</head>
<body>

<div class="wrapper col1">
  <div id="topbar" class="clear">
    <ul>
      <li><a href="#">Logowanie</a></li>
      <li class="last"><a href="#">Załóż konto</a></li>
    </ul>
    <form action="#" method="post" id="search">
      <fieldset>
        <legend>Wyszukiwarka</legend>
        <input type="text" placeholder="Wpisz szukaną fraze"/>
        <input type="image" id="go" src="images/search.gif" alt="Search" />
      </fieldset>
    </form>
  </div>
</div>

</body>
</html>
 

Błąd

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/home.jsp at line 12

9: </head>
10: <body>
11: 
12: 	<div><tiles:insertAttribute name="top" /></div>
13: 	<div><tiles:insertAttribute name="header" /></div>
14: 	<div><tiles:insertAttribute name="container" /></div>
15: 	<div><tiles:insertAttribute name="bottom" /></div>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
	org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:390)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

org.apache.tiles.template.NoSuchAttributeException: Attribute 'top' not found.
	org.apache.tiles.template.DefaultAttributeResolver.computeAttribute(DefaultAttributeResolver.java:49)
	org.apache.tiles.template.InsertAttributeModel.resolveAttribute(InsertAttributeModel.java:187)
	org.apache.tiles.template.InsertAttributeModel.start(InsertAttributeModel.java:107)
	org.apache.tiles.jsp.taglib.InsertAttributeTag.doTag(InsertAttributeTag.java:306)
	org.apache.jsp.WEB_002dINF.views.home_jsp._jspx_meth_tiles_005finsertAttribute_005f0(home_jsp.java:117)
	org.apache.jsp.WEB_002dINF.views.home_jsp._jspService(home_jsp.java:72)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:390)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
 
  1. Ścieżki na pewno są dobre

Jakieś pomysły?

Z góry dziękuję

0

offtopując, jeśli będziesz miał wolną chwilę to spróbUj http://www.thymeleaf.org/

0

podbijam, bo to dla mnie ważne

1 użytkowników online, w tym zalogowanych: 0, gości: 1