Наследование шаблона JSP

5 ответов

Вы, вероятно, захотите изучить Мозаики .

РЕДАКТИРОВАНИЕ: На связанной ноте к мозаикам Вы могли бы хотеть изучить Struts. Это не то, что Вы ищете (это - мозаики), но это полезно для кого-то приезжающего от Django.

10
ответ дан geowa4 29 January 2009 в 13:29
поделиться
  • 1
    Спасибо за то, что на самом деле ответили на вопрос. I' m не уверенный, почему люди голосуют за ответы, которые полагаются на холст, несмотря на требование для предотвращения его являющийся ключевой ролью вопроса... Это, кажется, единственное решение для node.js. – carpiediem 12 December 2018 в 21:33

Другие опции, которые стоит исследовать, включают Sitemesh, который основан на идее декораторов страницы, и Поверхности Сервера Java (JSF), который использует веб-компоненты UI. И в то время как мы говорим о быстрой разработке с веб-платформами на платформе Java, я поощряю Вас проверять Grails. Это имеет ту же миссию, имеет Django; а именно, быстрая разработка веб-приложения на основе конвенции по конфигурации.

Hope это не слишком многие предложение для одного сообщения.: o)

4
ответ дан yawmark 29 January 2009 в 13:29
поделиться
  • 1
    @AdamBarnes я надеюсь Вы downvoted все, которое другие отвечают тогда;) и если Вы читаете первые 2 или 3 комментария вопроса, можно на самом деле считать, что цель не состоит в том, чтобы вставить элемент на DOM и сделать это позади (бэкенда). Парень аплодисментов! –  10 May 2019 в 17:57

Вы можете делать аналогичные вещи, используя файлы тегов JSP. Создайте свой собственный page.tag , содержащий структуру страницы. Затем используйте тег для вставки содержимого.

19
ответ дан 27 November 2019 в 22:25
поделиться

Моя любимая технология веб-интерфейса Java - Facelets. Он поддерживает самые Django-подобные шаблоны, которые я видел. Он не такой чистый, как Django, но вы получаете те же преимущества наследования.

Вместо Django:

Super:

{% block content %}{% endblock %}

Sub:

{% block content %}inheriting template's content here{% endblock %}

Синтаксис Facelet выглядит следующим образом:

Super:

<ui:insert name="content"></ui:insert>

Sub:

<ui:define name="content">inheriting template's content here</ui:define>
3
ответ дан 27 November 2019 в 22:25
поделиться

Вы можете использовать быстрый фреймворк для наследования шаблонов JSP

base.jsp

%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>  
<html>  
    <head>
        <rapid:block name="head">
            base_head_content
        </rapid:block>
    </head>  
    <body>  
        <br />  
        <rapid:block name="content">
            base_body_content
        </rapid:block>  
    </body>  
</html>

child.jsp

<%@ taglib uri="http://www.rapid-framework.org.cn/rapid" prefix="rapid" %>  
<rapid:override name="content">  
     <div>
        <h2>Entry one</h2>
        <p>This is my first entry.</p>
    </div>
</rapid:override>  

<!-- extends from base.jsp or <jsp:include page="base.jsp"> -->  
<%@ include file="base.jsp" %> 

output

<html>
<head>  
 base_head_content
</head>  
<body>  
    <br />  
    <div>
        <h2>Entry one</h2>
        <p>This is my first entry.</p>
    </div>
</body>  
</html>

исходный код

http://rapid-framework.googlecode.com/svn / trunk / rapid-framework / src / rapid_framework_common / cn / org / rapid_framework / web / tags /

12
ответ дан 27 November 2019 в 22:25
поделиться
Другие вопросы по тегам:

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