我正在使用spring 3 MVC,我的课程已经不足了。
外部系统会使用以下网址调用我的应用程序:
http://somehost/root/param1/param2/param3
我有一个弹簧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);
}
public class SomeModel{
private String paramOne;
private String paramTwo;
private String paramThree;
//constructor
//setters and getters
}
//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.
$(document).ready(function() {
//Here i need the model returned using ModelAndView
//I can get data from model and set into div elements.
});
在外部java脚本文件中,是否可以获取模型内容?
谢谢!
答案 0 :(得分:0)
在jsp页面中,您可以定义全局js变量并从外部js访问这些变量,如:
<script>
myModel=[];
myModel.paramOne='${model.paramOne}';
myModel.paramTwo='${model.paramTwo}';
myModel.paramThree='${model.paramThree}';
</script>
所有服务器端脚本都在服务器端呈现,这些值在呈现后将被硬编码。在浏览器中加载页面后,将使用呈现的硬编码值创建全局变量。 我的 myModel 也可以在外部文件中访问。
编辑: 这是 someJsp.jsp 文件
<%@ 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
$(document).ready(function() {
// myModel will be accessible from here because it's globally declared
alert(myModel);
});