如何使用 javascript 访问保存在请求范围内的数组或列表
How can you access an array or a list saved in request scope using javascript?
在我的servlet中:
String[] array = {"apple", "ball", "cat"};
req.setAttribute("myArray", array);
在 JavaScript 中:
var x = '${myArray}';
alert(x.length); //prints 28
alert('${myArray[0]}'); //prints apple
alert(x) //prints [Ljava.lang.String;@267c3c78
如何在不使用 json 的情况下获取数组对象,以便我可以遍历它?我唯一的选择 json 和 xml 吗?
你可以使用<c:forEach>
但是由于Java在服务器端运行,它只会帮助你生成可用于JavaScript的纯文本。通过了解这一点,您可以创建一个如下所示的 JavaScript 字符串数组:
<script type="text/javascript">
var myJavaScriptArray = [
<c:forEach items="${myArray}" var="elem" varStatus="currentStatus">
"${elem}"
<c:if test="${not currentStatus.last}">
,
</c:if>
</c:forEach>
];
</script>
上面的代码尚未测试。
你可以像这样将数组分配给javascript变量
<script>
var x = [
<c:forEach var="item" items="${myArray}" varStatus="loop">
"${item}"
<c:if test="${!loop.last}">,</c:if>
</c:forEach>
]
<script>
或者如果你想避免它,那么从服务器端传递JavaScript数组的正确表示。 Arrays.toString()
会有所帮助。
相关文章:
- JS:从数组中查找特定范围内的最低/最高数字
- 将数组传递给函数或确保它在范围内
- Angularjs:访问范围变量数组并计算平均值
- 搜索包含包含所需值的范围的数组
- 如何检查符号是否在范围(或数组)中
- 检查鼠标光标是否在带坐标的数组范围内
- 对在10的倍数的相同范围内的数组值进行分组
- 使用d3.js在绑定数据内数组(以恒定性动态生成d3.svg.line)
- 来自数组内数组的角度 ng 重复显示值
- 如何使用 javascript 访问保存在请求范围内的数组或列表
- 根据该键内数组中的值查找键的值
- 如何在任意范围内随机选择数字并使用 JavaScript 数组相加
- 数组内数组的最大值
- 数组中 100 个 1 - 20 范围内的随机数
- 解析 JSON 以获取 javascript 中对象内数组中的值
- 如何在包含日期范围的数组中填充日期
- 按照迭代对象内数组的长度进行Angular重复排序
- 如何根据数字范围筛选数组
- 我如何存储数据使用这种模式-对象内对象内对象或对象内对象内数组
- 创建具有指定范围的数组