Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Apache Tiles оптимизация страницы 
:(
    Опции темы
DissDoc
Дата 23.12.2012, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Всем привет! Появилась вот какая проблема. Есть много-много повторяющегося кода на каждой странице
Код

// много кода
<c:if test=${not empty message}>
    <div>Error</div>
</c:if>
// много кода

Можно ли каким-то образом выделить этот код в отдельный файл и просто подключать при необходимости ?
А можно ли вычленить этот код и подключать его, передавая туда параметр какой-нибудь?
PM MAIL WWW   Вверх
jk1
Дата 23.12.2012, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 5
Всего: 75



Цитата

Можно ли каким-то образом выделить этот код в отдельный файл и просто подключать при необходимости ?
А можно ли вычленить этот код и подключать его, передавая туда параметр какой-нибудь? 


Можно написать собственный JSP-тег с любой нужной параметризацией. В качестве примера сам тег:
Код

<%@ tag language="java" pageEncoding="UTF-8" %>
<%@ tag body-content="empty" %>
<%@ attribute name="users" required="true" type="java.util.List" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<c:choose>
    <c:when test="${!(empty users)}">
        There are some users here
    </c:when>
    <c:otherwise>
        No users defined
    </c:otherwise>
</c:choose>


и .tld описание к нему:
Код

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">

    <description>General purposes tag library</description>
    <tlib-version>1.0</tlib-version>
    <short-name>jtalks</short-name>
    <uri>http://www.jtalks.org/tags</uri>

    <tag-file>
        <name>users</name>
        <path>/WEB-INF/tags/users.tag</path>
    </tag-file>
    
    <!--some other tags here-->
    
</taglib>


Теперь его можно использовать так:
Код

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ taglib prefix="jtalks" uri="http://www.jtalks.org/tags" %>
...
    <div id="users-stats" class="well forum-user-stats-container">
        <strong><spring:message code="label.section.now_browsing"/></strong>
        <jtalks:users users="${viewList}"/>
    </div>
...


Это сообщение отредактировал(а) jk1 - 23.12.2012, 16:08


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
DissDoc
Дата 24.12.2012, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Хм. Интересно. Поищу как решается это в JSPX файлах
PM MAIL WWW   Вверх
DissDoc
Дата 28.3.2013, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Не стал заводить такую же тему. Поскольку вопрос такой же и смысл несет конкретно об Apache Tiles 2.
Итак, вопрос - оптимизация страницы с помощью Apache Tiles. Есть такой код (самый элементарный привожу!)
Код

<c:forEach var="element" items="${data}">
    <tiles:insertDefinition name="item.detail"/>
</c:forEach>

Сам шаблон item.detail
Код

<div>
    <h1>${element.title}</h1>
    <p>${element.description}</p>
</div>

В результате ничего не выводится.

Если я вытаские из цикла(!) forEach и аналогично подключаю definition. То все работает корректно. Как только я вставляю в цикл, то мой шаблон не видит переменную. Как исправить? Есть решения и/или идеи какие?

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.