怎么在js中取java变量的值,朋友们帮忙说说

JavaScript021

怎么在js中取java变量的值,朋友们帮忙说说,第1张

function test(){

var g = "${first_Name}"

alert(g)

}

"<%=first_Name%>"这种方式只能取道jsp页面上定义的变量

比如

a.jsp:

<%@ page contentType="text/htmlcharset=GB2312" %>

<HTML>

<%! String a = "aaaaa"%>

<BODY BGCOLOR=cyan>

<FONT Size=1>

<P>这是一个简单的JSP页面

<BR>

</FONT>

<%=a %>

${a }

</BODY>

<HTML>

在跳转到该jsp页面的servlet中在request中设置了一个a

效果如下:

这是一个简单的JSP页面

aaaaa serveta

原因很简单:

对于每个jsp,服务器(比如tomcat)都会将其转换成java文件(后缀.java的文件),然后将其编译成class文件

"<%=%>"就是从这个java文件中去取变量值

而"${}"则是从容器中的四个区域去取值(page,request,session,application)

js取java的变量的值:

方法①: var a = "<%=num%>"

方法②: 通过js控制html节点,如document.getElementByIdx_x_x("name"),$("#name").val()等

java取js值

一般是在表单中用一个的隐藏表单元素,然后在脚本中将js变量值赋给它:

var name=xy

form1.nameHidden.value=name

<input type="hidden" name="nameHidden"/>

当然不一定是隐藏域,可以是你需要的html标签。

可以将JAVA变量在JSP头部定义成全局变量。

然后可以分别在JS和JSP里调用。

因为可以将JS和JSP理解为两个相互独立的块。这2个块里面的变量都是局部变量。 而局部变量是不共享的。

首先很基础的:JS可以直接引用JAVA变量,但JAVA不能引用JS变量。因为页面是先编译JAVA再编译JS,代码如下:

String tbname="bd_bank"

out.write("<SCRIPT language="+"'"+"JavaScript"+"'"+">var tbname="+"'"+tbname+"'"+"</SCRIPT>")

%>

//下面的javascipt可以直接调用变量tbname

<script language="javascript">

alert(tbname)

</script>

//在js文件中的javascipt一样可以直接使用变量 tbname 啊。

<script language="JavaScript" src="../comm/dbgrid.js"></script>

反正两个原则记好:

1、jsp代码中可以构造javascipt语句,当然包括定义备用的javascipt的变量

2、理论上在整个页面中,任何一个地方定义的javascript代码都可以被正确使用。javascipt代码对位置不敏感。