javascript - 如何将Spring mvc Controller 变量传递给javascript

标签 javascript spring spring-mvc

我正在尝试从对象中获取 JavaScript 函数的变量,该对象将其发送给 Controller 查看。

我正在使用的对象是 Bpmsn。

enter image description here

通过 Controller 我将对象注入(inject)到 View 中。

我的 Controller 方法是:

@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;
}

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

在 jsp View 中,我注入(inject)了对象的属性,但我将在 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>

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

我尝试调用 View 中的属性,但它不起作用

<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');
        }
    });

最佳答案

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

 <script>
    var number = [[${number}]];
    var message = "[[${message}]]";
</script>

关于javascript - 如何将Spring mvc Controller 变量传递给javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988342/

相关文章:

javascript - 元素更新后如何维持事件观察

javascript - angularJS 文档中的各种术语是什么意思?

java - @Valid 注解应用于 MultipartFile 对象时被忽略

java - Spring使用MySQL访问数据不会运行

java - POST 到 Spring MVC Controller 结果为 "HttpMessageNotReadableException: Could not read JSON: No suitable constructor found"

javascript - Extjs View 渲染问题,未捕获类型错误 : Cannot read property 'tooNarrow' of undefined

javascript - 输入文件选择不会一致触发更改事件

java - Spring EL 和 JSF

java - 如何修复java下载按钮连续点击ClientAbortException : java. io.IOException错误?

spring-mvc - LDAP - 上下文源的 AD 用户名密码配置