Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将java变量传递给javascript_Javascript_Java_Variables - Fatal编程技术网

如何将java变量传递给javascript

如何将java变量传递给javascript,javascript,java,variables,Javascript,Java,Variables,我想将一个java变量传递给javascript,但我的jsp页面中没有body标记,因此我无法以这种方式传递它: <body onload="start(<%=otp1%>);"> 我需要在加载时运行这个javascript。是否有其他方法将java变量传递给javascript?我该怎么做 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stric

我想将一个java变量传递给javascript,但我的jsp页面中没有body标记,因此我无法以这种方式传递它:

<body onload="start(<%=otp1%>);">

我需要在加载时运行这个javascript。是否有其他方法将java变量传递给javascript?我该怎么做

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%
    String otp1 = (String) session.getAttribute("chartResult");
%>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Flot Examples: Basic Usage</title>

    <link href="../theme/bower_components/flot/examples/examples.css" rel="stylesheet" type="text/css">
    <%--   <link href="../theme/bower_components/flot/examples/examplesrtl.css" rel="stylesheet" type="text/css">--%>
    <%--    <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../theme/bower_components/flot/excanvas.min.js"></script><![endif]-->--%>
    <script language="javascript" type="text/javascript" src="../theme/bower_components/flot/jquery.js"></script>
    <script language="javascript" type="text/javascript" src="../theme/bower_components/flot/jquery.flot.js"></script><!-- jQuery -->
    <style type="text/css">
        body {
            font: 11px/1.1em "proxima-nova", Helvetica, Arial, sans-serif;
        }

        h2 {
            margin-top: 0;
        }
    </style>

   <script type="text/javascript" >
             function start(otp1){

                var d1 = [];
                for (var i = 0; i < 14; i += 0.5) {
                    d1.push([i, Math.sin(i)]);
                }

                var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];

                // A null signifies separate line segments

                var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];

                $.plot("#placeholder", [ d1, otp1, d3 ]);

                // Add the Flot version string to the footer

                $("#footer").prepend("Flot " + $.plot.version + " &ndash; ");
        }

    </script>


<div id="header" >
    <h2>Basic Usage</h2>
</div>

<div id="content" >
    <div class="demo-container">
        <div id="placeholder" class="demo-placeholder"></div>
    </div>

    <p>You don't have to do much to get an attractive plot. Create a placeholder, make sure it has dimensions (so Flot knows at what size to draw the plot), then call the plot function with your data.</p>

    <p>The axes are automatically scaled.</p>

</div>



<div id="footer">
    Copyright &copy; 2007 - 2014 IOLA and Ole Laursen
</div>

Flot示例:基本用法
--%>
身体{
字体:11px/1.1em“proxima nova”,Helvetica,Arial,无衬线;
}
氢{
边际上限:0;
}
功能启动(otp1){
var d1=[];
对于(var i=0;i<14;i+=0.5){
d1.推挤([i,Math.sin(i)]);
}
变量d2=[[0,3],[4,8],[8,5],[9,13];
//null表示单独的线段
变量d3=[[0,12],[7,12],空值[7,2.5],[12,2.5];
$.plot(#占位符“,[d1,otp1,d3]);
//将Flot版本字符串添加到页脚
$(“#页脚”).prepend(“Flot”+$.plot.version+“&ndash;”);
}
基本用法
你不需要做太多就能得到一个吸引人的情节。创建一个占位符,确保它有尺寸(以便Flot知道绘制绘图的大小),然后使用数据调用绘图函数

轴将自动缩放

版权及副本;2007年至2014年IOLA和Ole Laursen
使用:

var jsVar="<%out.print(otp1);%>";
var jsVar=”“;

在javascript中,您可以在页面上的脚本标记开始处分配该Java值:

var value = <%=otp1%>;
var值=;
或者,如果值为字符串:

var value = "<%=otp1%>";
var值=”;

Javascript在客户端执行,java在服务器端执行。所以,一旦jsp/html页面从服务器加载到浏览器上,您就可以这样做了

您可以在jsp文件中执行,但不能在js文件中执行,因为jsp文件在以html形式呈现给浏览器之前在服务器端得到处理,而js文件在客户端执行,所以java代码不会被处理

假设服务器端的
otp1
被设置为请求属性,您可以在jsp上访问它,如下所示,这样更清晰易读

${requestScope.otp1}

您可以将变量放在隐藏字段中,或者像slomek在js中直接建议的那样。作为onload方法的替代,您可以使用jquerys-ready方法。请参阅:

使用内联脚本,例如:

 <script type="text/javascript" >

                var d1 = [];
                for (var i = 0; i < 14; i += 0.5) {
                    d1.push([i, Math.sin(i)]);
                }

                var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];

                // A null signifies separate line segments

                var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];

                $.plot("#placeholder", [ d1, <%=otp1%>, d3 ]);

                // Add the Flot version string to the footer

                $("#footer").prepend("Flot " + $.plot.version + " &ndash; ");

    </script>

var d1=[];
对于(var i=0;i<14;i+=0.5){
d1.推挤([i,Math.sin(i)]);
}
变量d2=[[0,3],[4,8],[8,5],[9,13];
//null表示单独的线段
变量d3=[[0,12],[7,12],空值[7,2.5],[12,2.5];
$.plot(#占位符“,[d1,d3]);
//将Flot版本字符串添加到页脚
$(“#页脚”).prepend(“Flot”+$.plot.version+“&ndash;”);

类似于:您可以参考此内容。您能详细说明您的解决方案吗?