我有一个JavaScript方法,在文档正文onload()
事件中应显示警告。
它有一个servlet提供的字符串参数。该方法确实获得了值,但它没有做任何事情,因此我不知道我的逻辑是否错误,或者在HTML中执行此操作是否存在限制。
我的脚本代码:
function Check1(temp) {
if (temp.toString().length > 5) {
jAlert('success', 'This is the success dialog.', 'Success Dialog');
}
}
HTML代码:
<body onload="Check1(<c:out value="${CFP}"/>)">
<div id="main">
Servlet代码:
Fmsg = "Fornecedor " + ID + " - " + nome + " foi criado";
request.setAttribute("CFP",Fmsg);
userPath = "/Fornecedor";
所以非常感谢任何建议。
答案 0 :(得分:0)
在函数内部,您期望temp
为字符串值。想象一下,${CFP}
返回字符串值Fornecedor 1 - somenome foi criado
,然后是
<body onload="Check1(<c:out value="${CFP}"/>)">
将按如下方式生成
<body onload="Check1(Fornecedor 1 - somenome foi criado)">
(亲眼看看,在浏览器中打开页面,右键点击并查看来源)
这是无效的JavaScript语法。您实际上想要将文字字符串作为函数参数传递。在这种情况下,您的函数最终应如下所示:
<body onload="Check1('Fornecedor 1 - somenome foi criado')">
现在,让我们将其反向移植到负责生成HTML / JS代码的JSP代码:
<body onload="Check1('<c:out value="${CFP}"/>')">
答案 1 :(得分:0)
如果用“HTML”字面意思是.html文件,那么是的,这是一个限制。
您试图将JSP(特别是<c:out />
标记)放在一个普通的.html文件中,除非您已将Servlet容器配置为将.html文件视为JSP(以及说实话,我甚至不确定是否可能。)