gpt4 book ai didi

javascript - jsp页面如何传递参数

转载 作者:行者123 更新时间:2023-11-28 21:21:27 24 4
gpt4 key购买 nike

我正在使用参数调用 servlet

window.location.href = "/csm/csminfo.jsp?CFG_ID="+cfgid+"&path="+path;

在关于 body 负载的其他 csminfo 中,我正在调用一个函数来检索这些参数

<body onload="getConfigDetails(<%= request.getParameter("CFG_ID") %>,<%= request.getParameter("path") %>)">

JS

function getConfigDetails(cfgid,path)
{
alert(cfgid+","+path);
}

但是没有弹出任何警报,这是什么问题?

我使用的是 Firefox,使用错误控制台时出现此错误 enter image description here

最佳答案

您没有正确引用字符串:

 <body onload="getConfigDetails('<%= request.getParameter("CFG_ID") %>','<%= request.getParameter("path") %>')">

其他一些问题:

  1. 在原始页面上构建网址时,应确保使用 JavaScript 内置“encodeURIComponent()”函数对参数值进行正确编码。
  2. JSP scriptlet 是一种古老而丑陋的做事方式,在新代码中确实没有立足之地。您应该寻找资源来了解 JSTL:

    <body onload="getConfigDetails('${param.CFG_ID}','${param.path}')">
  3. 无论您使用 JSTL 还是 scriptlet,从 HTTP 参数中提取并注入(inject)到页面源中的值都应该通过 HTML 转义机制运行。在 JSTL 中,它看起来像这样:

    <body onload="getConfigDetails('${fn:escapeXml(param.CFG_ID)}','${fn:escapeXml(param.path)}')">

关于javascript - jsp页面如何传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com