打印java scriptlet变量,就好像它是一个JavaScript变量一样

您好我需要在jsp内的标签内的javascript调用中输出一个java变量!

例如:

 <dmf:checkbox name="checkbox" onclick = "selectAll()" /> 

生成的javascript是:

selectAll(),this); 但我其实想要的东西

 selectAllCheckBoxes(Hello),this); 

那不是逃避。 那只是打印一个scriptlet变量,好像它是一个JavaScript变量。

此外,您的示例令人困惑,它们彼此不匹配,并且Javascript代码在语法上无效。 我至少可以告诉JavaScript字符串变量被引号括起来。 如果你想结束

 selectAllCheckBoxes('Hello', this); 

哪里应该获取Hello作为scriptlet本地name变量的值( param是保留变量名,你不应该自己使用它),那么你需要做

 selectAllCheckBoxes('<%= name %>', this); 

以同样的方式,如果你想结束

 onclick="selectAll('Hello')" 

你需要做的

 onclick="selectAll('<%= name %>')" 

也就是说,我强烈建议你停止使用十多年来一直气馁的旧式小脚本。 建议JSP程序员仅使用taglib和EL来使JSP代码更干净,更健壮,更易于维护。 您可以使用诸如JSTL之类的 taglib来控制JSP页面中的流,并且可以使用EL来访问“后端”数据。 您的示例可以替换为:

  ... selectAllCheckBoxes('${name}', this); 

使用scriptlet生成整个属性值,如下所示:

 " /> 

也许你正在努力实现这一目标?

 var myVar = '<%= (String)request.getParameter("tab") %>'; loadtabs(myVar);