我们通常在jsp上执行类似JSTL的操作....但我现在需要使用JSON在javascript中设置数据。我如何在Javascript / JSON
中做这样的事情基本上循环遍历bean并提取其参数:
<c:forEach var="field" items="${detFields}">
${field.groupName}
${field.breakoutAllowed}
</c:forEach>
所以我可以把它放在这样的东西里面:
"data": [{
"value": "${field.groupName}"
}, {
"value": "${field.breakoutAllowed}"
}]
答案 0 :(得分:1)
您正在寻找的JSON结构看起来像是一个对象数组,每个对象都有两个属性:name
和breakoutAllowed
。将此数据分配给变量的JavaScript可以从JSP文件中输出。 (当然,在<script>
块或同等范围内。)
var output = [
<c:forEach var="field" items="${detFields}" varStatus="status">
{
"name":"${field.groupName}",
"breakoutAllowed":"${field.breakoutAllowed}"
}
<c:if test="${not status.last}">,</c:if>
</c:forEach>
]
答案 1 :(得分:1)
希望这段代码运行良好并且受到您的喜爱。我认为将scriptlet编写成JS是一种奇怪的做法,所以只是提出了另一种方法来处理它。如有必要,请发表评论。
$(document).ready(function(){
var k=$('#data').val();
//Convert the value into the required array. Since writing it is JavaScript directly is not a daily practice.
})
<input type="hidden" id="data" value=
<c:forEach var="field" items="${detFields}" varStatus="status">
{
"name":"${field.groupName}",
"breakoutAllowed":"${field.breakoutAllowed}"
}
<c:if test="${not status.last}">,</c:if>
</c:forEach>
/>