我想使用jsp表达式标签将java字符串变量传递给javascript函数参数。以下是我的jsp页面。
First.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <script> function stringGenerate(str){ var x = document.getElementsByTagName("input"); x[0].value = str; } function numberGenerate(num){ var x = document.getElementsByTagName("input"); x[1].value = num; } </script> </head> <body> <% String num ="1234567890"; String str = "abcdefghij"; %> <input type="text" name="string" readonly="readonly"/> <input type="text" name="number" readonly="readonly"/><br/><br/> <input type="button" value="String Generate" onclick= "stringGenerate(<%=str %>)" /> <input type="button" value="Number Generate" onclick= "numberGenerate(<%=num %>)" /> </body> </html>
当我单击具有“数字生成”值的按钮时,则文本变量(name =“ number”)上将显示num变量值(1234567890),但是当我单击具有值“字符串生成”的按钮时,则有在相应的文本框(名称=“ string”)上没有任何显示。这里num和str都是字符串类型的变量,但是为什么在文本框中仅显示num变量值,为什么不显示str变量值?
'在HTML中使用字符串时,请尝试使用单引号:
'
onclick= "stringGenerate('<%=str %>')" ^ ^
完整代码:
<input type="button" value="String Generate" onclick= "stringGenerate('<%=str %>')" />