2013-02-19 63 views
0

我使用JSP来创建动态网页...JavaScript函数不接受JSP创建的String

在我的形式之一的开始,我有一些JavaScript代码需要运行初始化给定的页面属性。

我在JSP <%%>块中创建了一个Java字符串,我想将它传递给initializePage javascript函数。

下面的代码:

<script> 
$(document).ready(function(){ 
<%String algorithmXMLPath = request.getContextPath() + "/" + PePw.PATH_ALGORITHM_XMLS; 
String initParms = "'" + algorithmXMLPath + "'," + 
        " '" + Utilities.getString(reqBean.getMachineType()) + "'," + 
        " '" + Utilities.getString(reqBean.getModel()) + "'," + 
        " '" + Utilities.getString(reqBean.getReasonCode()) + "'";%> 
initializePage(<%=initParms%>); 
}); 
</script> 

这导致源代码:

initializePage('/PePasswords/data/algorithmXMLs/', '', '', ''); 

当我跑,我得到的FF错误控制台错误“未结束的字符串”和它指向initializePage调用的结尾......当我单击错误控制台中的链接时,它实际上指向带有})的行;

我做错了在这里不知道什么...

+0

他们会碰巧是反斜杠而不是斜杠? – 2013-02-19 19:26:42

+0

@ user1428716你为什么这么建议?结果页面(在浏览器中)没有任何脚本在哪里。对? – 2013-02-19 19:28:39

+0

只是为了咯咯笑笑,我将scriplet部分移出标记 – ivandov 2013-02-19 19:33:46

回答

1

看起来像一个变量有一个隐藏的新系“\ n”被传递到JSP电话...

我更换

Utilities.getString(reqBean.getReasonCode()) 

Utilities.getString(reqBean.getReasonCode()).replace("\n", "").trim()