可以将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代码对位置不敏感。
Ⅱ js为什么取不到jsp中的变量的值
1、你确定你在jsp 变量是全局变量;
2、引入js,放在最后,如下:
jsp:
<html>
<head></head><body></body>
//js引入必须放在这个位置
<script src="你的js"></script>
</html>
Ⅲ 我想在jsp页面中用js获取s:property中的value要怎么办
jsp页面中用js获取s:property中的value的做法是在js中利用单引号对界定s:property取值。如下:
var url = '<s:property value="#urlBack"/>'
1、jsp文件定义如下:
<tr>
<td height="6%"align="center">
<s:submit cssClass="button" key="common.initDelegate.label" align="center" theme="simple"/>
<s:url id="urlBack" action="myAction" includeParams="none" escapeAmp="false">
<s:param name="period.periodId" value="%{period.periodId}"></s:param>
</s:url>
<input type="button" onclick="javascript:cancel()" value="<s:text name="common.button.cancel"/>"/>
</td>
</tr>
2、js函数写法如下:
function cancel() {
if (!isModified || (isModified && askConfirmCancel())) {
window.location.replace('<s:property value="#urlBack"/>');
}
}
这样就是可以通过'<s:property value="#urlBack"/>'传值给js函数 window.location.replace了。
Ⅳ jsp调用js的变量
1、首先在jsp页面上,定义二个变量。
Ⅳ jsp调用js的变量
SP 页面通常嵌入 JS 代码,且 JS、JSP之间需要相互使用一些变量的值,但JSP代码在服务器运行、JS代码在客户端浏览器运行,所以涉及到JS和JSP值传递问题。其交互方式如下:
JS使用JSP中的变量:
<%
String test ="I am testing !"; // JSP片段中定义变量
%>
<SCRIPT LANGUAGE ="JavaScript">
var tmp ="<%=test %>"; // 通过"<%=javaCode %>"引用jsp中的变量、方法等,注意:一定要加双引号
alert(tmp);
</SCRIPT >
(5)js获取jsp页面的变量扩展阅读
Js文件函数中调用另一个Js文件函数的方法:
在项目中Js文件需要完成某一功能,但这一功能的大部分代码在另外一个Js文件已经完成,只需要调用这个文件实现功能。
html 文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>html文件</title>
</head>
<body>
<script src="a.js"></script>
<script src="b.js"></script>
</body>
</html>
Ⅵ jsp怎么获取本页面中js中的变量的值
jsp是无法直接或取页面中js变量的值,但是可以通过间接的方法,用html的方法
例如:专
<input id="data" type="hidden" value="你想要的属数据" />
在html里定义一个上面的标签,把js的值放到标签里,然后jsp去获得这个值
Ⅶ 在js中可以引用jsp中的数据吗
你好,
通常来说是可以的。我给你列举两种方法,你根据你的情况选择适合你的吧。
方法一:将jsp中的变量输出到html中的type为hidden的input中,js从input中去取值
<!--jsp页面中的input元素-->
<inputtype="hidden"value="<%=serverData%>"id="J_ServerData">
<!--
当然,挂在某一个DOM元素的属性上也是可以的
<divid="J_DataDiv"data-server-data="<%=serverData%>">页面中的任意DOM节点</div>
-->
<script>
//JS中读取jsp页面中输出到页面中的值
varinp=document.getElementById('J_ServerData');
//如果是div
//varnode=document.getElementById('J_DataDiv');
//取值
varserverData=inp.value;
//如果是属性
//varserverData=node.getAttribute('data-server-data');
console.log(serverData);
</script>
方法二:JS可以通过AJAX与服务端通信,只需服务端封装一个JSP接口,前端即可取到服务端数据,以jQuery为例
$.ajax({
url:'server_addr/api.jsp',
type:'get',
success:function(data){
//data就是服务端(jsp)返回的数据
console.log(data);
}
});
大致就这么多,希望能解决你的疑惑,如有疑问可追问~