Java 如何在jquery中访问复杂模型的元素?
我正在用SpringMVC制作一个jsp站点Java 如何在jquery中访问复杂模型的元素?,java,jquery,spring,jsp,Java,Jquery,Spring,Jsp,我正在用SpringMVC制作一个jsp站点 protected String[] complexProperty = null;// ["something","something's value"] 在控制器中,我添加了 model.addAttribute("SetProperties", arrays);//where arrays is [] of complexProperties = [[1,a],[2,b],[]...] 在jsp站点中的javascript(jquer
protected String[] complexProperty = null;// ["something","something's value"]
在控制器中,我添加了
model.addAttribute("SetProperties", arrays);//where arrays is [] of complexProperties = [[1,a],[2,b],[]...]
在jsp站点中的javascript(jquery)中,我希望访问具体元素,如
var complexProperty = '${SetProperties[0][0]}';// will give me 1
alert(whichTable+" complex:"+complexProperty2);
现在我想在for循环中打印它们,所以我需要以某种方式动态地更改这些[0][0]。但是我不知道怎么做
我已经试过了
var temp=0;
var complexProperty = '${SetProperties[temp][temp]}';
var complexProperty = '${SetProperties["temp"]["temp"]}';
var complexProperty = '${SetProperties[${"temp"}][${"temp"}]}';
var complexProperty = '${SetProperties["${temp}"]["${temp}"]}';
但是他们没有一个给我1,要么是错误,要么是奇怪的东西。从未使用过JSP,但也许您可以从这一点继续:
var complexProperty = ${SetProperties};
$.each(complexProperty, function( index, value ) {
alert( index + ": " + value );
});
您将JSP变量与Javascript变量混合使用。最好的方法是,您的javascript代码调用后端来检索JSON对象,然后像其他javascript对象一样使用它 如果您有/想要在Javascript代码中使用objectfromHTTP请求属性,最好在JSP页面中将其序列化为JSON 根据类路径(Jackson/GSON)上的内容,您可以通过以下方式进行操作(GSON示例):
另一种方法是创建您自己的JSP函数,如下所述:非常感谢您的代码。jackson json和google json之间有什么区别吗?它们都用于将Java对象序列化到json或从json反序列化Java对象,因此概念或多或少是相同的,但实现方式不同。问题是,如果您使用SpringMVC,并且已经使用JSON做了一些事情,那么很可能Jackson已经在您的类路径上了。
<%@ page import="com.google.gson.Gson" %>
<% Gson gson = new Gson(); %>
<script type="text/javascript">
var setProperties = <%= gson.toJson(request.getAttribute("setProperties")) %>
</script>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
for (var key in setProperties) {
console.log(key, setProperties[key]);
}