2016-11-07 10 views
0

Я хочу запустить html-файл в dropwizard.Dropwizard запускает статическую страницу с источниками JavaScript

это есть сценарии, которые я хочу запустить:

<script src='http://dhtmlx.com/docs/products/dhtmlxScheduler/codebase/dhtmlxscheduler.js'></script> 
    <link rel='stylesheet' type='text/css' href='http://dhtmlx.com/docs/products/dhtmlxScheduler/codebase/dhtmlxscheduler.css'> 
    <link rel='stylesheet' type='text/css' href='style.css'> 
    <script src='https://code.jquery.com/jquery-3.1.0.min.js'></script> 
    <script src='x.js'></script> 
    <script src='y.js'></script> 

Так что в моем методе инициализации:

У меня есть это:

bootstrap.addBundle(new AssetsBundle("/assets", "/", "index.html")); 
    bootstrap.addBundle(new AssetsBundle("/assets", "/", "x.js")); 
bootstrap.addBundle(new AssetsBundle("/assets", "/", "y.js")); 
    bootstrap.addBundle(new AssetsBundle("/assets", "/", "style.css")); 

Я получаю 404 ошибку, когда я запустить dropwizard. Однако я попытался запустить простой html-файл без javascript, и он смог нормально работать. Можете ли вы использовать источники java-скриптов вне dropwizard?

ответ

0

У меня был успех со ссылкой на статические активы в Dropwizard. Мои инициализировать метод просто создано AssetsBundle по умолчанию:

bootstrap.addBundle(new AssetsBundle()); 

, что означает, что статические активы, как ожидается, в src/main/resources/assets и должны быть установлены для целей URL с помощью /assets/<file name>

Моих HTML ссылки были такими:

<script src="/assets/abc.js"></script> 

Вызов AssetsBundle с параметрами, как вы это делали, должно быть хорошо, bu t вам нужен только один вызов addBundle. (Сохраните первый, потеряйте остальные. Последний параметр - это имя файла индекса по умолчанию и не входит в игру в вашем случае, так как у вас есть явные имена файлов в ваших путях.) В шаблоне HTML попробуйте изменить пути так что они являются абсолютными, например:

<script src="/x.js"></script>