如何访问 javascript 文件中的 Spring MVC 模型对象?

新手上路,请多包涵

我正在使用 spring 3 MVC,我有以下课程。

外部系统会使用以下 URL 调用我的应用程序:

 http://somehost/root/param1/param2/param3

我有一个 spring MVC 控制器方法如下:

 public ModelAndView showPage(@PathVariable("param1") String paramOne, @PathVariable("param2") String paramTwo, @PathVariable("param3") String paramThree, HttpServletResponse response) {
        SomeModel model = new SomeModel(paramOne, paramTwo, paramThree);
       return new ModelAndView("SomeJsp", "model", model);
    }

SomeModel.java

 public class SomeModel{
 private String paramOne;
 private String paramTwo;
 private String paramThree;
//constructor
 //setters and getters

}

一些Jsp.jsp

 //In this Jsp i have a div with few elements. Div is not visible by default.
//This jsp has externalJavascript included.
//I enable div and set the data into div elements using jquery.
<script src="<c:url value="/resources/js/extjs.js" />" type="text/javascript"></script>

外部Js.js

 $(document).ready(function() {

    //Here i need the model returned using ModelAndView
//I can get data from model and set into div elements.

});

在外部 java 脚本文件中,是否可以获取模型内容?如果可能的话,我该怎么做?

谢谢!

原文由 user755806 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
1 个回答

JavaScript 在客户端运行。您的模型在客户端不存在,它仅在您呈现 .jsp 时存在于服务器端。

如果您希望模型中的数据可用于客户端代码(即 javascript),则需要将其存储在渲染页面的某个位置。例如,您可以使用 Jsp 编写 JavaScript,将您的模型分配给 JavaScript 变量。

更新:

一个简单的例子

<%-- SomeJsp.jsp --%>
<script>var paramOne =<c:out value="${paramOne}"/></script>

原文由 Aurand 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题