Dropwizard运行静态页面与JavaScript源代码



我想在dropwizard上运行一个html文件。

这些是我想要运行的脚本:

<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,这是能够运行良好。你能在dropwizard之外使用java脚本吗?

我已经成功地引用了Dropwizard中的静态资产。我的initialize方法只是创建了默认的AssetsBundle:

bootstrap.addBundle(new AssetsBundle());

这意味着静态资产应该在src/main/resources/assets中,并且应该使用/assets/<file name>

来引用URL。我的HTML引用是这样的:
<script src="/assets/abc.js"></script>
正如你所做的那样,用参数调用AssetsBundle应该没问题,但是你应该只需要一个addBundle调用。)留下第一个,丢掉其余的。最后一个参数是默认的索引文件名,在您的情况下没有作用,因为您的路径中有显式的文件名。)在HTML模板中,尝试修改路径,使它们是绝对的,例如:
<script src="/x.js"></script> 

最新更新