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)
- Ścieżki na pewno są dobre
Jakieś pomysły?
Z góry dziękuję