我正在尝试在 jsp 文件中使用 kendo ui 甘特图。我正在为该项目使用 spring mvc 和 maven。我正在按照春季演示中给出的教程进行操作,但仍然没有得到结果。jsp 页面中没有显示任何内容。
JSP
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@taglib prefix="kendo" uri="http://www.kendoui.com/jsp/tags"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<kendo:gantt name="gantt" height="700" showWorkDays="false" showWorkHours="false" snap="false">
<kendo:gantt-views>
<kendo:gantt-view type="day" />
<kendo:gantt-view type="week" selected="true" />
<kendo:gantt-view type="month" />
</kendo:gantt-views>
<kendo:gantt-columns>
<kendo:gantt-column field="id" title="ID" width="50" />
<kendo:gantt-column field="title" title="Title" editable="true" />
<kendo:gantt-column field="start" title="Start Time" format="{0:MM/dd/yyyy}" width="100" />
<kendo:gantt-column field="end" title="End Time" format="{0:MM/dd/yyyy}" width="100" />
</kendo:gantt-columns>
<kendo:dataSource batch="false">
<kendo:dataSource-schema>
<kendo:dataSource-schema-model id="id">
<kendo:dataSource-schema-model-fields>
<kendo:dataSource-schema-model-field name="id" type="number" />
<kendo:dataSource-schema-model-field name="orderId" type="number" />
<kendo:dataSource-schema-model-field name="parentId" defaultValue="null" nullable="true" type="number" />
<kendo:dataSource-schema-model-field name="start" type="date" />
<kendo:dataSource-schema-model-field name="end" type="date" />
<kendo:dataSource-schema-model-field name="title" defaultValue="No title" type="string" />
<kendo:dataSource-schema-model-field name="percentComplete" type="number" />
<kendo:dataSource-schema-model-field name="expanded" type="boolean" defaultValue="true" />
<kendo:dataSource-schema-model-field name="summary" type="boolean" />
</kendo:dataSource-schema-model-fields>
</kendo:dataSource-schema-model>
</kendo:dataSource-schema>
<kendo:dataSource-transport>
<kendo:dataSource-transport-read url="/Gantt/tasks/read" dataType="json" type="POST" contentType="application/json" />
<kendo:dataSource-transport-parameterMap>
<script>
function parameterMap(options, type) {
return JSON.stringify(options.models || [ options ]);
}
</script>
</kendo:dataSource-transport-parameterMap>
</kendo:dataSource-transport>
</kendo:dataSource>
<kendo:dependencies batch="false">
<kendo:dataSource-schema>
<kendo:dataSource-schema-model id="id">
<kendo:dataSource-schema-model-fields>
<kendo:dataSource-schema-model-field name="id" type="number" />
<kendo:dataSource-schema-model-field name="predecessorId" type="number" />
<kendo:dataSource-schema-model-field name="successorId" type="number" />
<kendo:dataSource-schema-model-field name="type" type="number" />
</kendo:dataSource-schema-model-fields>
</kendo:dataSource-schema-model>
</kendo:dataSource-schema>
<kendo:dataSource-transport>
<kendo:dataSource-transport-read url="/Gantt/dependencies/read" dataType="json" type="POST" contentType="application/json" />
<kendo:dataSource-transport-parameterMap>
<script>
function parameterMap(options, type) {
return JSON.stringify(options.models || [ options ]);
}
</script>
</kendo:dataSource-transport-parameterMap>
</kendo:dataSource-transport>
</kendo:dependencies>
</kendo:gantt>
控制器
@Controller
public class IndexController {
@Autowired
private GanttTaskDao taskDao;
@Autowired
private GanttDependencyDao dependencyDao;
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index(Locale locale, Model model) {
return "index";
}
@RequestMapping(value = "/tasks/read", method = RequestMethod.POST)
public @ResponseBody List<GanttTask> read_tasks() {
return taskDao.getList();
}
@RequestMapping(value = "/dependencies/read", method = RequestMethod.POST)
public @ResponseBody List<GanttDependency> read_dependencies() {
return dependencyDao.getList();
}
}
我还使用调试模式来运行项目,但请求只到 /index 方法,并且没有请求发送到 /gantt/tasks/read 或 /gantt/dependency/read 方法。
我尝试使用不同的 url,以防万一出现错误。但它仍然无法正常工作。
我不知道我哪里出错了。任何人都知道答案。还有什么我可能会丢失的吗?