[英]how to get the variable value of javascript to be pass to the string of java in jsp
[英]How to pass java string variable to the javascript function by jsp expression tag?
我想使用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變量值?
原因是當頁面由瀏覽器呈現時,它將str和num值直接放入代碼中,因此如下所示:
<input type="button" value="String Generate" onclick="stringGenerate(abcdefghij)"/>
瀏覽器基本上認為您正在嘗試引用一個名為'abcdefghij'
的Javascript變量。
您應該在字符串文本之前和之后添加'
chars,以使javascript知道它應該使用該文本的值,而不是搜索具有該名稱的變量。
str的聲明應如下所示以使其起作用:
String str = "\'abcdefghij\'";
請注意 ,您不能使用\\"
進行轉義,因為這會破壞您的代碼。
在HTML中使用字符串時,請嘗試使用單引號'
:
onclick= "stringGenerate('<%=str %>')"
^ ^
完整代碼:
<input type="button" value="String Generate" onclick= "stringGenerate('<%=str %>')" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.