【发布时间】:2014-05-14 19:09:53
【问题描述】:
我有一个参数有问题,我试图将它传递给一个 Javascript 函数,在该函数中参数被截断。
在我的Servlet中,我设置了一个参数request.setAttribute("questions", service.getQuestions("123"))
它设置了一个问题列表,每个问题包含几个值;
我使用 JSTL 循环 <c:forEach var="data" items="${questions}">...</c:forEach> 遍历它们,然后我可以像 ${data.question}, ${data.options} 等那样访问值。
console.log(${data.question}) 返回一个 123,45,35|43,94,73|23,91,34 形式的值,这与预期的一样。
但是当我尝试将这个${data.question} 传递给诸如<script>MyFunction(${data.question})</script> 之类的javascript 函数时,它只接收123。
MyFunction(data) {
console.log(data); //Only shows 123
//Split the string into arrays for processing
}
【问题讨论】:
-
因为它返回数组的第一个元素
-
@sankrish 这是一个字符串,而不是一个数组。
-
${data.question}在for-each循环之外将单独保存当前迭代的值 -
${data.question}是字符串123,45,35|43,94,73|23,91,34,而不是数组。循环是遍历列表questions。questions包含多个具有question、options等属性的对象。
标签: java javascript jsp servlets jstl