1

我想创建一个简单的 JSP 瓦片 3.0 Web 应用程序。我有一个页眉、页脚、菜单和一个正文来加载 jsps。我的应用程序在瓷砖 2.2 中工作,但现在我正在尝试将其转换为瓷砖 3.0

我不允许使用框架。我使用“MyAnt generate.war”创建战争,并使用tomcat部署它。

这是我的瓷砖定义文件(tiles.xml)

    <!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
       "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">


<tiles-definitions>
  <definition name="page" template="/template.jsp">
    <put-attribute name="header" value="/defaultHeader.jsp" />
    <put-attribute name="menu" value="/defaultMenu.jsp" />
    <put-attribute name="body" value="/empty.jsp" />
    <put-attribute name="footer" value="/defaultFooter.jsp" />
  </definition>
  <definition name="servletPage" extends="page">
    <put-attribute name="body" value="/form.jsp" />
  </definition>

  <definition name="jspPage" extends="page">
    <put-attribute name="body" value="/hello.jsp" />
  </definition>
</tiles-definitions>

模板.jsp

 <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<html>
  <body style="width:100%;height:100%" bgcolor="Blue">
    <table border="1" cellspacing="0" cellpadding="0" style="width:100%;height:100%">
      <tr> <td colspan="2"><tiles:insertAttribute name="header" /> </td> </tr>
      <tr> <td>  <tiles:insertAttribute name="menu" /> </td>
           <td>  <tiles:insertAttribute name="body" /> </td>  </tr>
      <tr> <td colspan="2"> <tiles:insertAttribute name="footer" /> </td> </tr>
    </table>
  </body>
</html>

索引.jsp

 <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<tiles:insertDefinition name="page" />

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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"
     version="2.5">
<servlet>
    <servlet-name>tiles</servlet-name>
    <servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>
    <init-param>
      <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
      <param-value>/WEB-INF/tiles.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

这是我在浏览器中遇到的错误

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 2 
org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 2

1: <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
2: <tiles:insertDefinition name="page" />

任何人都可以帮我解决它吗?我很确定问题出在 web.xml 中,但我不知道该怎么办。

4

1 回答 1

0

使用 Struts,类是:org.apache.tiles.web.startup.TilesServlet 没有 Struts,类是:org.apache.struts.tiles.TilesServlet

于 2014-12-12T10:25:01.497 回答