一尘不染

如何通过jsp表达式标签将java字符串变量传递给javascript函数?

jsp

我想使用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"/> &nbsp;&nbsp;
        <input type="text" name="number" readonly="readonly"/><br/><br/>

        <input type="button" value="String Generate" onclick= "stringGenerate(<%=str %>)" /> &nbsp;&nbsp;
        <input type="button" value="Number Generate" onclick= "numberGenerate(<%=num %>)" />
    </body>
</html>

当我单击具有“数字生成”值的按钮时,则文本变量(name =“
number”)上将显示num变量值(1234567890),但是当我单击具有值“字符串生成”的按钮时,则有在相应的文本框(名称=“
string”)上没有任何显示。这里num和str都是字符串类型的变量,但是为什么在文本框中仅显示num变量值,为什么不显示str变量值?


阅读 246

收藏
2020-06-10

共1个答案

一尘不染

'在HTML中使用字符串时,请尝试使用单引号:

onclick= "stringGenerate('<%=str %>')"
                         ^        ^

完整代码:

<input type="button" value="String Generate" onclick= "stringGenerate('<%=str %>')" />
2020-06-10