我在尝试将参数传递到 Javascript 函数时遇到问题,但参数被 chop 。
在我的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}
进入 JavaScript 函数,例如 <script>MyFunction(${data.question})</script>
,它只接收 123
.
MyFunction(data) {
console.log(data); //Only shows 123
//Split the string into arrays for processing
}
最佳答案
您收到第一个元素,因为您的函数需要一个参数,并且您的值 123,45,35|43,94,73|23,91,34
由逗号分隔,因此它会查找函数就像不同的参数一样。使用插入的参数属性或将所有值作为字符串传递到''中,如下所示
<script>MyFunction('${data.question}')</script>
抱歉我的英语……仍在努力
关于java - JSP 请求参数在传递给 javascript 函数后被 chop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22829448/