js的值是不能传递到java代码中的

解决方案 »

  1.   

    你的JAVA代码在页面载入的时候就已经运行了
    而触发JS的时候,并不会去触发JAVA代码,因为JS是客户端代码
    此时需要通过AJAX传递给后台运行
      

  2.   

    我这都是写在jsp页面中的。应该都是在后台吧!?如果用ajax其不是很麻烦了吗
      

  3.   

    LZ去看看客户端和服务端的区别吧
    JS是无法直接去运行客户端的
    打个比方吧,以你的那个例子为例function read(i){            
                    
                    var a = "<% 
                    java代码; 
                    String m; 
                怎样让m 得到i的值呢? 
                      %>"

            } 假设红色区域运行后得到的是var a = "1";
    那么载入页面的时候,代码就是function read(i){
    var a = "1";
    }触发这个JS方法的时候,实际运行的就是var a = "1";的步骤,仅此而已。
      

  4.   

    我在jsp中写入了java代码,同时又在javascript中写入了java代码。java代码在后台运行,那我怎么传递数据啊,,我是想在触发某个事件 的时候才去调用这里面的函数。执行某个操作。。
      

  5.   

    JSP中的JAVA代码是后台运行没错
    但反映到用户就已经是个客户端的静态页面程序了
    如果你没有提交或其他执行与服务器端交互的事件 你是得到不服务器端的值的所以你想在客户端取服务器端的值就必须有交互 比如上面说到的提交或AJAX
      

  6.   

    在这个jsp中java代码和javascript代码是混写一块的。。具体怎么传递呢?
      

  7.   

    function read(i){            
                    
                    var a = " <%=m%> 
            } 上面的代码让客户端执行的script变量a得到了服务端m的值要让m得到i的值,必须执行get或post方法,提交给服务端
    搞web开发,http协议要深刻掌握,楼主去看看这方面资料,尤其是原理上的。