ASP.NET Master Pages эквивалент в Java

голоса
6

Что было бы эквивалентно Master Pages в мире разработки веб Java? Я слышал о Tiles, гобелен и скорости, но ничего о них не знаю. Являются ли они, как легко использовать в качестве главных страниц?

Я хочу что-то же просто, как создать один шаблон и последующие страницы вытекают из шаблона и переопределения областей контента, подобные мастер-страницы.

Любые примеры было бы здорово !!

Задан 25/08/2008 в 02:13
источник пользователем
На других языках...                            


3 ответов

голоса
12

Вы должны также проверить Facelets ; есть хорошая вводная статья на DeveloperWorks.

Facelets <ui:insert/>метка сравнима с ASP.NET <asp:ContentPlaceHolder/>тегом , используемым в мастер - страницах; она позволяет предоставлять контент по умолчанию для этой области страницы, но это может быть отменено.

Для того, чтобы заполнить шаблон Facelets в другой странице, вы начинаете с <ui:composition/>элементом , который указывает на файл шаблона. Это примерно эквивалентно объявлению атрибута MasterPageFile в странице ASP.NET.

Внутри <ui:composition/>элемента, можно использовать <ui:define/>элементы , чтобы переопределить значения по умолчанию шаблона, аналогично тому , как <asp:Content/>используется тег. Эти элементы могут содержать любой вид контента - от простых строк в JSF элементы.

Таким образом, чтобы свести все это вместе ...

В master.xhtml :

<!-- HTML header content here -->
<ui:insert name="AreaOne">Default content for AreaOne</ui:insert>
<ui:insert name="AreaTwo">Default content for AreaTwo</ui:insert>
<!-- HTML footer content here -->

В page.xhtml :

<ui:composition template="/WEB-INF/templates/master.xhtml">
  <ui:define name="AreaOne">Here is some new content</ui:define>
  <ui:define name="AreaTwo">
    <p>Some new content here too</p>
  </ui:define>
</ui:composition>

И это будет отображаться как:

<!-- HTML header content here -->
Here is some new content
<p>Some new content here too</p>
<!-- HTML footer content here -->

Вы также можете получить некоторые другие преимущества с Facelets, например, возможность повторного использования компонентов страниц с различными данными.

(Под редакцией, чтобы предоставить больше информации.)

Ответил 28/08/2008 d 21:07
источник пользователем

голоса
4

Во-первых, эквивалент ASP.Net в Java собирается быть фреймворк, например, те, которые вы упомянули (плитки, Гобелен и скорость).

Главные страницы дают возможность определять страницы с точки зрения содержания прорезей в основном шаблон.

Главные страницы являются особенностью ASP.Net (веб-платформы .NET), так что вы ищете особенность подобного мастер-страниц в веб-фреймворк Java.

http://tiles.apache.org/framework/tutorial/basic/pages.html дает некоторые основные примеры использования плитки и JSP , чтобы реализовать что - то подобное с Struts, веб - основы Java. В этом случае функциональность Master Pages плагин поверх Struts.

Скорость является родовым шаблонный движок, а не специализированные для веб-страниц, и, безусловно, гораздо сложнее, чем вам нужно. (Я видел, как это используется для генерации кода.)

Гобелен является более полнофункциональный веб - стек , чем плитки, и, вероятно , хорошо для ваших целей. Его функциональность шаблонная включает в себя создание компонента и положить всю общую разметку в этом. Примером может служить в http://www.infoq.com/articles/tapestry5-intro .

Специфика этого различаются на основе которых Java фреймворк вы выбираете.

Ответил 25/08/2008 d 02:34
источник пользователем

голоса
2

Я использовал SiteMesh в предыдущих проектах , и это довольно легко настроить. По сути, вы создаете декоратор , которые являются эквивалентами мастера - страниц. Затем определить , какие использовать дочерние страницы , которые декораторы. См введения в SiteMesh для получения дополнительной информации.

Ответил 04/03/2011 d 11:07
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more