Совместное использование пользовательских тегов JSTL между пакетами - PullRequest
0 голосов
/ 16 мая 2018

У меня есть несколько военных проектов портлетов Liferay, в которых используются общие библиотеки тегов jstl (c, fmt, fn и т. Д.) И одна настраиваемая библиотека.

В настоящее время я поместил копию tld в папки WEB-INF / tld каждого проекта.

project1
    src.main.webapp.WEB-INF.tld
        c.tld
        custom.tld
        fmt.tld
        ...
project2
    src.main.webapp.WEB-INF.tld
        c.tld
        custom.tld
        fn.tld
        ...

Иногда мы обновляем наши пользовательские библиотеки, что означает обновление всех копий.

Как мне создать проект зависимостей, который может содержать все эти библиотеки тегов для меня?

Это так же просто, как пустой проект с папкой src / main / resources / WEB-INF / tld?

1 Ответ

0 голосов
/ 17 мая 2018

Похоже, это рабочее решение.

Создайте новый проект maven, taglib-proj, упаковав его в банку.

Переместить метки из проекта1 и проекта2 в taglib-proj

taglib-proj
  src.main.resorces
    tld
      c.tld
      custom.tld
      fmt.tld
      fn.tld

Обратитесь к этим тегам из web.xml проекта1 и проекта2, используя папку ресурсов в качестве базы местоположения.

<jsp-config>
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
        <taglib-location>/tld/c.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>myCustomLib</taglib-uri>
        <taglib-location>/tld/custom.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
        <taglib-location>/tld/fmt.tld</taglib-location>
    </taglib>
    <taglib>
        <taglib-uri>http://java.sun.com/jsp/jstl/fn</taglib-uri>
        <taglib-location>/tld/fn.tld</taglib-location>
    </taglib>
    ...
</jsp-config>
...