您好,我需要在 jsp 内的标记内的 javascript 调用内输出 java 变量!
例如:
<% String param = "hello";%>
<dmf:checkbox name="checkbox"
onclick = "selectAll(<%=param%>)"
/>
生成的javascript是:
selectAll(<%=param%>),this);
但我实际上想要类似的东西
selectAllCheckBoxes(Hello),this);
您好,我需要在 jsp 内的标记内的 javascript 调用内输出 java 变量!
例如:
<% String param = "hello";%>
<dmf:checkbox name="checkbox"
onclick = "selectAll(<%=param%>)"
/>
生成的javascript是:
selectAll(<%=param%>),this);
但我实际上想要类似的东西
selectAllCheckBoxes(Hello),this);
那不是逃避。这只是打印一个 scriptlet 变量,就好像它是一个 JavaScript 变量一样。
此外,您的示例令人困惑,它们彼此不匹配,并且 Javascript 代码在语法上无效。我至少可以告诉 JavaScript 字符串变量要用引号括起来。如果你想结束
selectAllCheckBoxes('Hello', this);
whereHello
应该作为 scriptlet 局部name
变量的值获取(theparam
是保留的变量名,你不应该自己使用它),那么你需要做
selectAllCheckBoxes('<%= name %>', this);
同样,如果你想最终得到
onclick="selectAll('Hello')"
你需要做
onclick="selectAll('<%= name %>')"
也就是说,我强烈建议您停止使用十多年来一直不鼓励使用的老式 Scriptlet。建议 JSP 程序员使用 taglibs 和 EL 只是为了使 JSP 代码更干净、更健壮和更易于维护。您可以使用JSTL等标记库来控制 JSP 页面中的流程,并且可以使用EL访问“后端”数据。您的示例可以替换为:
<c:set var="name" value="Hello" />
...
selectAllCheckBoxes('${name}', this);
也许您正在努力实现这一目标?
var myVar = '<%= (String)request.getParameter("tab") %>';
loadtabs(myVar);
使用 scriptlet 生成整个属性值,如下所示:
<dmf:checkbox name="checkbox"
onclick = "<%= "selectAll(" + param + ")" %>" />