这不是逃避。这只是打印一个 scriptlet 变量,就好像它是一个 JavaScript 变量一样。
此外,您的示例令人困惑,它们彼此不匹配,并且 Javascript 代码在语法上无效。我至少可以告诉 JavaScript 字符串变量要用引号括起来。如果你想结束
selectAllCheckBoxes('Hello', this);
where Hello
应作为 scriptlet local 的值获取name
变量(param
是一个保留的变量名,你不应该自己使用它),那么你需要做
selectAllCheckBoxes('<%= name %>', this);
同样的,如果你想最终得到
onclick="selectAll('Hello')"
你需要做
onclick="selectAll('<%= name %>')"
也就是说,我强烈建议您停止使用十多年来一直不鼓励使用的老式脚本。 JSP 程序员被建议使用 taglibs 和 EL 只是为了使 JSP 代码更干净、更健壮并且更易于维护。您可以使用标签库,例如JSTL http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/控制 JSP 页面中的流程,您可以使用EL http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html访问“后端”数据。您的示例可以替换为:
<c:set var="name" value="Hello" />
...
selectAllCheckBoxes('${name}', this);