<head>
<script>
function getInfo(o)
{
var obj=o;
document.getElementById('test').innerHTML=obj.name1;
document.getElementById('test2').innerHTML=obj.name2;
}
</script>
</head>
<body>
<input type="button" value="submit" onclick='getInfo(${json})' />
<p>JSON values should appear below.</p>
<div id="test"></div>
<div id="test2"></div>
</body>
我试图在页面加载时加载 JSON 对象,但我用各种不同的方式都没有成功... c:set var、body onload、混合 JSTL 和 JS...
有没有办法在页面加载时加载 JSON 对象?
它基于以下示例:http://java-x.blogspot.com/2007/04/using-json-from-java.html
目前,它可以工作,当我单击按钮时它会加载 JSON 对象,但我不想单击任何内容。
最佳答案
只需删除按钮并通过window.onload
调用该函数即可。
window.onload = function() {
var obj = ${json};
document.getElementById('test').innerHTML = obj.name1;
document.getElementById('test2').innerHTML = obj.name2;
}
然而,我想知道将渲染作业委托(delegate)给具有服务器端提供的数据的 onload JS 有何意义。您也可以仅使用 JSP taglibs/EL 来实现此目的。
<div id="test">${bean.name1}</div>
<div id="test2">${bean.name2}</div>
关于java - 将 JSON 对象从 JSP 转换为 JS 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7197701/