Я написал простой портлет, который использует jquery и flot. Мне нужно оставить опцию открытой, чтобы развернуть портет в стандартном портальном контейнере, таком как JBoss, а также перейти к существующему продукту, который использует собственный набор портлетов, Struts, Dojo.
Чтобы попытаться сохранить свою работу автономной, я сохранил все свои файлы js в подкаталоге относительно моего jsp, поэтому мой тег выглядит следующим образом:
<script language="javascript" type="text/javascript" src="javascript/flot/jquery.flot.js"></script>
Относительный путь правильный, но не найден в существующем контейнере портала. Я подозреваю, что его существующая инфраструктура javascript, dojo, устанавливает базовый путь всего приложения, поэтому моя спецификация относительного пути не связана с "." Если я укажу абсолютный путь и переместу мои js-файлы, это сработает.
<script language="javascript" type="text/javascript" src="/AppTopLevel/javascript/flot/jquery.flot.js"></script>
Я не хочу этого делать, хотя / AppTopLevel будет отличаться при развертывании автономного приложения.
Существует ли стандартный способ упаковки файлов javascript, относящихся к jsps, в приложении с портлетами, чтобы они работали в различных контейнерах портала и страницах, написанных другими пользователями, которые могут использовать конфликтующие библиотеки и пути?