你好我需要在jsp!
内的标签内的javascript调用中输出一个java变量例如:
<% String param = "hello";%>
<dmf:checkbox name="checkbox"
onclick = "selectAll(<%=param%>)"
/>
生成的javascript是:
selectAll(<%=param%>),this);
但我真的想要像
selectAllCheckBoxes(Hello),this);
答案 0 :(得分:2)
那不是逃避。那只是打印一个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之类的标记库来控制JSP页面中的流,您可以使用EL来访问“后端”数据。您的示例可以替换为:
<c:set var="name" value="Hello" />
...
selectAllCheckBoxes('${name}', this);
答案 1 :(得分:1)
使用scriptlet生成整个属性值,如下所示:
<dmf:checkbox name="checkbox"
onclick = "<%= "selectAll(" + param + ")" %>" />
答案 2 :(得分:1)
也许你正在努力实现这个目标?
var myVar = '<%= (String)request.getParameter("tab") %>';
loadtabs(myVar);