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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как достать jsp из jar 
:(
    Опции темы
oson
Дата 9.4.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Внутри war в WEB-INF/lib/my.jar находится страница  my.jsp, managed bean для нее и faces-config.xml с записями для бина и страницы.
Этот jar клиент просто копирует к себе в war, затем должен написать на страничке своей 
Код


<include>my.jsp</include>




и моя my.jsp должна быть включена в его страницу.
Как сделать так, чтобы my.jsp, managed bean  и faces-config.xml был доступен из jar для всего приложения?
PM MAIL   Вверх
ecologist
Дата 10.4.2009, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Наверно надо распаковать архив и вытащить оттуда нужные тебе файлы в директории. 
JSP-то уж точно не получится не вытаскивать - ее же надо в сервлет преобразовать и потом скомпилировать в класс.
PM MAIL   Вверх
powerOn
Дата 12.4.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Такую функциональность можно релизовать с помощью Facelets, написав свой Resource Resolver.

Код

package somepackage;

import com.sun.facelets.impl.DefaultResourceResolver;
import java.net.URL;

public class SourceJarResolver extends DefaultResourceResolver
{
    public SourceJarResolver()
    {
        super();
    }

    @Override
    public URL resolveUrl(String path)
    {
        URL url = super.resolveUrl(path);
        if (url == null)
        {
            if (path.startsWith("/"))
            {
                path = path.substring(1);
            }
            url = Thread.currentThread().getContextClassLoader().getResource(path);
        }
        return url;
    }

    @Override
    public String toString()
    {
        return "SourceJarResolver";
    }
}


В web.xml:
Код

    <context-param>
        <param-name>facelets.RESOURCE_RESOLVER</param-name>
        <param-value>somepackage.SourceJarResolver</param-value>
    </context-param>


Ресурс ресолвер будет искать файлы со страницами в jar файлах (читай "в класспафе"), если он не будет найден основным ресолвером. Опятьже это будет работать только если используются Facelets.
 


--------------------
user posted image нет времени думать - нужно писать КОД!

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

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

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


 




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


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

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