zoukankan      html  css  js  c++  java
  • js中变量和jsp中java代码中变量互相访问解决方案

    1。js变量获取jsp页面中java代码的变量值。
     方法:var JS变量名 = <%=JAVA变量名 %>  
    2。java代码获取js变量的值。
     说明:在JSP中;Java部分是在服务器端执行的;js部分是在客户端的浏览器执行的;二者完全不相干。因此直接在JSP页面上是无法在js、java和HTML变量之间进行调用的。
     变通(解决方案):将js变量放到form中的一个;在后台从form中取出变量放到隐藏域中;然后提交表单给要调用变量的页面。这个页面可以就是本身。示例如下:
     bb.jsp页面: 
        <% String test5 = (String)request.getAttribute("test4"); %>
          <script type="text/javascript"> 
           var test1 = '111'; //定义js变量 
           document.form.test2.value = test1;
           //将js变量的值放到form中的一个隐藏域中 
           var formObj = document.getElementById('passForm');
           formObj.submit();
          </script> 
         <form  method="post" action="aa.jsp" id ="passForm"> 
         <input id = 'test2' type = 'hidden' name="test2"> 
         </form>  
      aa.jsp页面中的Java代码:
      <%
        request.setCharacterEncoding("utf-8");
        String txtMsg = request.getParameter("test2"); 
        out.println(txtMsg);
      %> 
     注:如果同一个页面自己给自己传值,aa.jsp和bb.jsp可以为同一页面。

     
     

    4 
    3 
    分享到:  
    评论
    7 楼 aspnetdb 2013-01-13  
    南京玄武 写道
    这种方法局限性太大,每次都得前台与后台交互才能实现效果,如果只是单纯的想在 onClick 时将 JS 中的数据设置到 Session 中,那就不可行了……

    现在想想当时实现确实挺挫的。具体业务场景的折中实现而已,确实不适合分享。哈哈
    6 楼 南京玄武 2013-01-13  
    这种方法局限性太大,每次都得前台与后台交互才能实现效果,如果只是单纯的想在 onClick 时将 JS 中的数据设置到 Session 中,那就不可行了……
    5 楼 aspnetdb 2010-07-29  
    其实js和java代码,一个运行在客户端,一个运行在服务器端。服务器端想要获取客户端的一些数值,我想除了Ajax和表单提交,还真难有别的办法了。希望后来看帖的人讨论一下。
    4 楼 aspnetdb 2010-07-29  
    CapsLk 写道
     
    我也知道这样子弄会把页面搞的很乱,无奈公司现在做的这个东西就拿jsp开发的。你说的很正确,我确实欠考虑引号的问题。因为当时我需要获取的就是数字和字符串。谢谢指正。 
    3 楼 aspnetdb 2010-07-29  
    而利用通讯协议转化,和语言无关
    mercyblitz 写道
     

    JSP的动态内容,JS可以得到Java变量。而利用通讯协议转化,和语言无关。


    我只是开发中遇到js要获取java变量的问题,从而相处的表单提交的方法,如果你有更好的方法,欢迎提出来。具体问题具体分析,别的我也不想多说什么了。
    2 楼 CapsLk 2010-07-29  
    1
    Java代码  收藏代码
    1. var JS变量名 = <%=JAVA变量名 %>    
    传递的java变量一般应该是表示数字或者字符串的变量,复制给js变量一定要用引号括起来,如果java变量值含有引号,不好意思了你还得做转义。

    2 “java代码获取js变量的值”你的这种做法很“珍惜”,有点曲解了jsp的用途。
    1 楼 mercyblitz 2010-07-29  
     

    JSP的动态内容,JS可以得到Java变量。而利用通讯协议转化,和语言无关。
  • 相关阅读:
    一些C++11语言新特性
    项目管理计划应该包括哪些内容
    真相令人震惊!为什么越有钱的人,欠的钱越多?
    80后小伙返乡创业种植中药材,带领乡亲们脱贫致富
    Tableau
    知识点汇总
    决策树分析、EMV(期望货币值)
    信息系统项目管理师60天冲刺复习计划,2019下半年高项冲刺计划
    【系统分析师之路】系统分析师备考计划
    有一种规律:“劣币驱逐良币”,“坏人淘汰好人”(深度)
  • 原文地址:https://www.cnblogs.com/ningxu/p/3373665.html
Copyright © 2011-2022 走看看