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能够为同一页面。javascript

 

传递的java变量通常应该是表示数字或者字符串的变量,复制给js变量必定要用引号括起来,若是java变量值含有引号,很差意思了你还得作转义。java

相关文章
相关标签/搜索