2010-10-26 65 views

回答

0

可能想试试这个:

window.load = function(){ 
var myjson = <%= getJSON() %> 
//using myjson 
} 

的getJSON是返回myJSONObj为JSON格式的字符串函数

更新: 简短的例子。希望它有帮助

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
<% 
class Foor{ 
    public String getJSON(){ 
     return "{foo:'bar'}"; 
    } 
} 

Foor myfoo = new Foor(); 

%> 
<script language=javascript> 
var myjson = <%= myfoo.getJSON()%> 
alert(myjson.foo); 
</script> 
</head> 
<body> 

</body> 
</html> 
+0

@jebberwocky:我试过了,但它给了我“非法的XML字符”错误。 – Rachel 2010-10-26 05:23:41

+0

@rachel希望更新的示例有帮助 – jebberwocky 2010-10-26 05:53:03

+0

由于“myfoo.getJSON()”的输出将被视为脚本标记内的字符串,因此应将其包装为: var myjson = dojo.fromJson('<%= myfoo .getJSON()%>'); 我认为这个例子将工作... – subhaze 2010-10-26 07:43:01

0

尝试在toJson函数中包装输出。

对于运行它时,DOM是准备尝试addOnLoad

而且,如果你想通过AJAX的onLoad加载它尝试this

[编辑]

这只是我恍然大悟,我因为您需要将JSON字符串转换为JSON对象,所以将它放在“json”中应该是fromJson。这里是一个例子dojo: json string to json object

+0

我主要关心的是如何在dojo中检索myJSONObj对象,因为我在JSP中创建和设置。任何建议非常感谢。 – Rachel 2010-10-26 10:50:48