Вопрос по java – Каков наилучший способ создания шаблона макета JSP? [Дубликат]

32

Possible Duplicate:
JSP tricks to make templating easier?

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

I googled it, some people say use templates http://java.sun.com/developer/technicalArticles/javaserverpages/jsp_templates который использует библиотеку тегов jstl. Он говорит, чтобы поставить тег, как это:

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

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

However some say jstl template have problems according to this Struts ИЛИ Плитки ИЛИ ...... шаблонное решение JSP

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

РЕДАКТИРОВАТЬ: Мне нужно разделить макет страницы на части, такие как контент, заголовок и т. Д., И установить эти части на странице, которая использует шаблон макета, точно так же, как главная страница asp.net.

спасибо, я думаю, что первая ссылка отличная / Stackoverflow.com вопросы / 1296235 / ... Ashkan
возможное решение / Stackoverflow.com вопросы / 1296235 / ... Javaworld.com / JavaWorld / JW-09-2000 / JW-0915-jspweb.html Я не знаю лучшего пути shareef

Ваш Ответ

1   ответ
84

Поместите следующее в 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>

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

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

Похожие вопросы