2013-06-11 12 views
1

Я хочу создать простую веб-приложение JSP tiles 3.0. У меня есть заголовок, нижний колонтитул, меню и тело для загрузки jsps. Мое приложение работает в плитке 2.2, но теперь я пытаюсь преобразовать его в плитки 3.0Преобразование существующей простой JSP-плитки 2.2 webapp to Tiles 3.0 architecture

Мне не разрешено использовать рамки. Я создаю войну, используя «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> 

template.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> 

index.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, но я не могу понять, что мне делать.

+0

Существует почти никакой разницы между tiles2 и tiles3, tiles3, конечно, имеет расширение возможностей ... Я не знаю, почему вы не понимаете, что не можете использовать веб-фреймворки, звучит как глупое требование, но не имеет никакого отношения к этой проблеме. Вы используете maven? Может быть, не хватает зависимости ... какая у вас причина в том, что вы не используете «org.apache.tiles.extras.complete.CompleteAutoloadTilesListener» в web.xml? – Quaternion

+0

Что пытается сделать index.jsp? Плитки: insertDefinition предназначен для создания нового определения¹, но вы уже определили определение «страницы» в своих файлах .xml ¹ http://tiles.apache.org/framework/tiles-jsp/tagreference.html#tiles : insertDefinition – mck

+0

'Мне не разрешено использовать фреймворки'. Вы понимаете, что плитки сами по себе являются основой? 'Я создаю войну, используя« MyAnt generate.war »' - Это просто имя задачи в вашем скрипте сборки, бессмысленное для кого-либо еще. – david

ответ

0

распорками, класс: org.apache.tiles.web.startup.TilesServlet Без Struts класс является: org.apache.struts.tiles.TilesServlet

 Смежные вопросы

  • Нет связанных вопросов^_^