首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring访问外部javascript文件中的数据?

使用Spring访问外部javascript文件中的数据?
EN

Stack Overflow用户
提问于 2014-03-18 13:13:08
回答 1查看 2.2K关注 0票数 0

我正在使用Spring3MVC,我有下面的类。

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

代码语言:javascript
复制
http://somehost/root/param1/param2/param3

我有一个spring控制器方法,如下所示:

代码语言:javascript
复制
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

代码语言:javascript
复制
public class SomeModel{
 private String paramOne;
 private String paramTwo;
 private String paramThree;
//constructor
 //setters and getters

}

SomeJsp.jsp

代码语言:javascript
复制
//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.

externalJs.js

代码语言:javascript
复制
$(document).ready(function() {

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


});

在外部java脚本文件中,是否有可能获得模型内容?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 14:55:07

在jsp页面中,您可以定义全局js变量并从外部js访问这些变量,如下所示:

jsp文件

代码语言:javascript
复制
<script>
  myModel=[];
  myModel.paramOne='${model.paramOne}';
  myModel.paramTwo='${model.paramTwo}';
  myModel.paramThree='${model.paramThree}';
</script>

所有服务器端脚本都在服务器端呈现,这些值一旦呈现就会被硬编码。在浏览器中加载页面后,将使用呈现的硬编码值创建全局变量。我的myModel也可以访问外部文件。

编辑:这是someJsp.jsp文件

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE>
<html>
<head>

<script>
  myModel=[];
  myModel.paramOne='${model.paramOne}';
  myModel.paramTwo='${model.paramTwo}';
  myModel.paramThree='${model.paramThree}';
</script>


<script src="externalJs.js"></script>

</head>
<body>
<!--content-->
</body>

和externalJs.js

代码语言:javascript
复制
$(document).ready(function() {

// myModel will be accessible from here because it's globally declared
   alert(myModel);

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22480475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档