Подтвердить что ты не робот

Каков наилучший способ создания шаблона макета JSP?

Возможный дубликат:
JSP-трюки, чтобы упростить создание шаблонов?

Я новичок в JSP и сервлетах, мне интересно, есть ли аккуратный способ создать макет jsp и повторно использовать его на похожих страницах jsp, что-то вроде основных страниц asp.net.

Я googled, некоторые говорят, что используют шаблоны http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates который использует библиотеку jstl tag. Он говорит, чтобы поставить тег следующим образом:

<%@ taglib uri='/WEB-INF/tlds/template.tld' prefix='template' %>

но я получаю ошибку (потому что jstl.jar и standard.jar находятся в каталоге WEB-INF/lib/).

Однако некоторые говорят, что шаблон jstl имеет проблемы в соответствии с этим Struts OR Tiles ИЛИ???...... Решение JSP шаблона

Я был бы рад помочь мне узнать лучший способ.

EDIT: мне нужно разбить макет страницы на части, такие как контент, заголовок,... и установить эти части на странице, которая использует шаблон макета, точно так же, как главная страница asp.net.

4b9b3361

Ответ 1

Поместите следующее в WEB-INF/tags/genericpage.tag

<%@tag description="Overall Page template" pageEncoding="UTF-8"%>
<%@attribute name="header" fragment="true" %>
<%@attribute name="footer" fragment="true" %>
<html>
  <body>
    <div id="pageheader">
      <jsp:invoke fragment="header"/>
    </div>
    <div id="body">
      <jsp:doBody/>
    </div>
    <div id="pagefooter">
      <jsp:invoke fragment="footer"/>
    </div>
  </body>
</html>

Чтобы использовать это:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>

<t:genericpage>
    <jsp:attribute name="header">
      <h1>Welcome</h1>
    </jsp:attribute>
    <jsp:attribute name="footer">
      <p id="copyright">Copyright 1927, Future Bits When There Be Bits Inc.</p>
    </jsp:attribute>
    <jsp:body>
        <p>Hi I'm the heart of the message</p>
    </jsp:body>
</t:genericpage>

Это делает именно то, что вы думаете!

Это был отличный ответ Уилла Хартунга на эту ссылку.