JSP请求参数在传递到javascript函数后被截断

JSP请求参数在传递到javascript函数后被截断,java,javascript,jsp,servlets,jstl,Java,Javascript,Jsp,Servlets,Jstl,我试图将一个参数传递到一个Javascript函数中,在该函数中该参数被截断,我遇到了一个问题 在我的Servlet中,我设置了一个参数request.setAttribute(“问题”,service.getQuestions(“123”)) 它设置一个问题列表,每个问题包含几个值 我使用一个JSTL循环..遍历它们,然后我可以访问值,如${data.question}、${data.options}等 console.log(${data.question})返回形式为123,45,35 |

我试图将一个参数传递到一个Javascript函数中,在该函数中该参数被截断,我遇到了一个问题

在我的Servlet中,我设置了一个参数
request.setAttribute(“问题”,service.getQuestions(“123”))

它设置一个问题列表,每个问题包含几个值

我使用一个JSTL循环
..
遍历它们,然后我可以访问值,如
${data.question}、${data.options}

console.log(${data.question})
返回形式为
123,45,35 | 43,94,73 | 23,91,34
的值,该值与预期值相同


但是当我试图将这个
${data.question}
传递到一个javascript函数中,比如
MyFunction(${data.question})
,它只接收
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>
MyFunction(“${data.question}”)

对不起,我的英语。。仍在处理它

因为它从array@sankrish它是一个字符串,而不是数组。
${data.question}
外部的
for each
循环将仅保存当前迭代的值
${data.question}
是一个字符串
123,45,35 | 43,94,73 | 23,91,34
,而不是数组。循环是在列表中循环
问题
questions
包含多个具有属性
question
options
和其他属性的对象。我知道,它是作为
MyFunction(123,45,…)
传递的,而不是
MyFunction(“123,45,…)
别忘了转义它!请参阅
MyFunction('${util:escapeJS(data.question)}')