将会话属性从jsp传递给javascript函数

时间:2014-03-17 07:02:05

标签: javascript jsp session-variables httpsession

我试图将一个HTTP Session属性从JSP页面传递给外部JS文件中编写的JavaScript函数。当我在没有编写特定函数的情况下在正文部分编写JS部分时,它工作正常但是当我声明一个函数并尝试将会话属性作为参数传递时,它会产生以下错误。

SyntaxError: syntax error

我尝试了以下方法将会话属性传递给JS函数:

<body onload="popListbox(<%=session.getAttribute("objNames")%>)">

<body onload="popListbox(${objNames})">

执行后的body标签如下所示:

<body national_id","birth_certificate"])"="" onload="popListbox(["></body>

有人可以告诉我为什么body标签如上所示,我应该如何将参数传递给JS函数。

2 个答案:

答案 0 :(得分:1)

您可以对属性使用单引号,即onload='...' - 现在您的数据字符串包含双引号,在终止属性时会中断所有内容。

然而,继续使用双引号和HTML转义{} "&<>){{{ 1}}!这样,如果数据在某处包含单引号,则不会出现任何问题。

答案 1 :(得分:0)

我猜你的引言正在制造一个问题。即它们是冲突的。尝试使用单引号...

<body onload='popListbox(<%=session.getAttribute("objNames")%>)'>