0

我正在尝试在 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,以防万一出现错误。但它仍然无法正常工作。

我不知道我哪里出错了。任何人都知道答案。还有什么我可能会丢失的吗?

4

1 回答 1

0

好的,我犯了一些愚蠢的错误,我忘记将 js 和 css 文件包含到我的 jsp 中。我现在已经包含了。当我使用调试模式时,它正在检索任务和依赖项,但它没有在我的 jsp 中显示。我只能看到空的图表窗口。请有人帮忙。

于 2015-11-30T10:09:43.837 回答