如何将Spring mvc控制器变量传递给javascript

jos*_*luq 1 javascript spring spring-mvc

我试图从一个对象中获取一个 javascript 函数的变量,该对象将其发送给控制器查看。

我正在使用的对象是 Bpmsn。

在此输入图像描述

通过控制器我将对象注入视图中。

我的控制器的方法是:

@RequestMapping(value = "/display")
public ModelAndView index2(@RequestParam int bpmsnId) {
    ModelAndView result;
    Bpmsn bpmsn;

    bpmsn = bpmsnService.findOne(bpmsnId);

    result = new ModelAndView("editor/display");
    result.addObject("bpmsn", bpmsn);

    return result;
}
Run Code Online (Sandbox Code Playgroud)

我用这个方法来显示对象。

在 jsp 视图中,我注入了对象的属性,但我将在 javascript 脚本中使用的 textXML 除外。

<div>
<ul>
    <li><b><spring:message code="bpmsn.ticker" />:</b> <jstl:out
            value="${bpmsn.ticker}" /></li>
    <li><b><spring:message code="bpmsn.title" />:</b> <jstl:out
            value="${bpmsn.title}" /></li>
    <li><b><spring:message code="bpmsn.summary" />:</b> <jstl:out
            value="${bpmsn.summary}" /></li>
    <li><b><spring:message code="bpmsn.authoredMoment" />:</b> <jstl:out
            value="${bpmsn.authoredMoment}" /></li>
    <li><b><spring:message code="bpmsn.likes" />:</b> <jstl:out
            value="${bpmsn.likes}" /></li>
    <li><b><spring:message code="bpmsn.dislikes" />:</b> <jstl:out
            value="${bpmsn.dislikes}" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用 textXML 属性,我想创建一个 javascript 函数来将该 xml 导入 bpmn 建模器,但我不知道如何从 javascript 脚本获取注入到视图中的对象的 textXML 属性

我尝试像视图中那样调用属性,但它不起作用

<script type="text/javascript">
    var bpmnXML = ${bpmsn.textXML}; //not work
    alert(bpmnXML)
    // BpmnJS is the BPMN viewer instance
    var viewer = new BpmnJS({
        container : '#canvas'
    });

    // import a BPMN 2.0 diagram
    viewer.importXML(bpmnXML, function(err) {
        if (err) {
            // import failed :-(
            alert('could not import BPMN 2.0 diagram', err);
        } else {
            // we did well!
            var canvas = viewer.get('canvas');
            canvas.zoom('fit-viewport');
        }
    });
Run Code Online (Sandbox Code Playgroud)

小智 5

我们可以将 Spring MVC 变量传递给 Javascipt 例如:

 <script>
    var number = [[${number}]];
    var message = "[[${message}]]";
</script>
Run Code Online (Sandbox Code Playgroud)