【发布时间】:2014-07-22 16:27:16
【问题描述】:
我正在使用 Tiles 开发一个 Spring MVC 项目。当我运行应用程序时,我没有收到任何错误。但是 jsp 页面未正确加载,如下所示 p>
当我查看此页面的源代码时,我可以看到 layout.jsp 和 home.jsp 代码已加载。但正如您在上面看到的,该页面仅显示 jsp 标记。
开发环境
-> Spring MVC 3.2.8 Release
-> Apache Tiles 2.2.1
tiles-core-2.2.1.jar
tiles-template-2.2.1.jar
tiles-jsp-2.2.1.jar
tiles-servlet-2.2.1.jar
tiles-api-2.2.1.jar
tiles-request-api-1.0.1.jar
pom.xml
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
web.xml
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
tiles.xml
<?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="base.definition"
template="/WEB-INF/views/templates/template1/layout.jsp">
<put-attribute name="title" value=""/>
<put-attribute name="header" value="/WEB-INF/views/templates/components/header.jsp"/>
<put-attribute name="menu" value="menu"/>
<put-attribute name="body" value=""/>
<put-attribute name="footer" value="/WEB-INF/views/templates/components/footer.jsp"/>
</definition>
<definition name="menu"
preparer="menuController"
template="/WEB-INF/views/templates/components/menu.jsp">
</definition>
<definition name="home" extends="base.definition">
<put-attribute name="title" value="Home"/>
<put-attribute name="body" value="/WEB-INF/views/home.jsp"/>
</definition>
layout.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title><tiles:getAsString name="title"/></title>
<link rel="stylesheet" type="text/css" href="<c:url
value='/resources/css/style.css'/>"/>
</head>
<body>
<div id="layout">
<div id="header">
<tiles:insertAttribute name="header" />
</div>
<div id="content">
<div id="leftContent">
<tiles:insertAttribute name="menu" />
</div>
<div id="rightContent">
<tiles:insertAttribute name="body" />
</div>
</div>
<div id="footer">
<tiles:insertAttribute name="footer" />
</div>
</div>
</body>
</html>
home.jsp
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<c:if test="${!empty kodListe}">
<h3 >En Son Eklenenler</h3>
<c:forEach items="${kodListe}" var="kod">
<form:form action="kod" method="POST">
<table>
<tr>
<td>
<input type="hidden" name="kodId" value="${kod.kodId}" />
<input value="${kod.kodBaslik}" type="submit"/>
</td>
</tr>
<tr>
<td>
${kod.kodEkleyenKullanici.kullaniciAd}
</td>
<td>
${kod.kodEklemeTarihi}
</td>
</tr>
</table>
</form:form>
</c:forEach>
servlet-context.xml
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView">
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
如何解决这个问题?提前谢谢
【问题讨论】:
标签: java spring jakarta-ee spring-mvc apache-tiles