2

本质上,我有一个 servlet,它打开一个使用明喻时间线小部件的页面 timeline.html。直接从 user.dir/timeline.html 打开网页时,时间线显示完美。但是当 localhost:8080 上的 servlet 打开网页时,它不会加载 xml 文件。

你知道为什么吗?

if (action.equals("create")) {
             request.getRequestDispatcher("/timeline.html").forward(request, response); }   

时间线代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Timeline</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <script src="http://api.simile-widgets.org/timeline/2.3.1/timeline-api.js?bundle=true" type="text/javascript"></script>
 <script>
   function onLoad() {
   var eventSource = new Timeline.DefaultEventSource();
  var bandInfos = [
 Timeline.createBandInfo({
     eventSource:    eventSource,
     date:           "Jun 28 2013 00:00:00 GMT",
     width:          "70%", 
     intervalUnit:   Timeline.DateTime.MONTH, 
     intervalPixels: 100
 }),
 Timeline.createBandInfo({
     overview:       true,
     eventSource:    eventSource,
     date:           "Jun 28 2013 00:00:00 GMT",
     width:          "30%", 
     intervalUnit:   Timeline.DateTime.YEAR, 
     intervalPixels: 200
 })
 ];
 bandInfos[1].syncWith = 0;
 bandInfos[1].highlight = true;

 tl = Timeline.create(document.getElementById("my-timeline"), bandInfos);
 Timeline.loadXML("/timeline.xml", function(xml, url) { eventSource.loadXML(xml, url); });}
  </script>
  </head>
  <body onload="onLoad();" onresize="onResize();">
   <div id="my-timeline" style="height: 300px; border: 1px solid #aaa"></div>
   <noscript>
This page uses Javascript to show you a Timeline. Please enable Javascript in your browser to see the full page. Thank you.
</noscript>

4

1 回答 1

2

/timeline.xml指您的 Web 应用程序上下文根位置。您是否将 xml 文件放在根位置。例如,如果您的 webapp 名为myappdeploy in webapps/myapp ,则'/'指的是 myapp 目录。所以/timeline.xmlmyapp/timeline.xml

于 2013-06-27T23:44:04.513 回答