js文件与jsp文件是分开写的,其中jsp文件以src调用js
<script language="JAVASCRIPT" src="js文件名"></script>
现在我想在js文件里使用这个jsp文件的某个变量,如变量b
我试过这样赋值 var a=<%=b%>;
但是好似失效了,而且这样写<%=b%>的话,它不会自动变色(通常会变色的!)
请问一楼的若是我要将一个哈希表类型的变量作为参数传给js方法,那么在js里的方法要怎样声明呢?
第1个回答 2010-11-15
如果你传一个基本数据给 js 变量,可以这样:
var a = '<%=b%>';//前提 b 在java代码中已定义.
-------------------------------------------------------------------
如果要传 java.util.HashMap 对象给 js 变量,那就只能先在 java 代码中迭代出你想要的数据结构如 json数据格式 [{a=1,b=2},{a=2,b=3}] ,再传给
js 变量.当然你可以用 java 的json 工具类(net.sf.json.JSONSerializer)格式化 java.util.HashMap 对象成 json 字符串,再传给 js 变量.
如 :
-------------------------------------------------------------------
<%@ page language="java" import="java.util.*,net.sf.json.*" pageEncoding="UTF-8"%>
<%
Map map = new HashMap();
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(map);
String jsonStr = jsonObject.toString();
%>
<script>
var jsonStr = '<%=jsonStr%>'
</script>
var a = '<%=b%>';//前提 b 在java代码中已定义.
-------------------------------------------------------------------
如果要传 java.util.HashMap 对象给 js 变量,那就只能先在 java 代码中迭代出你想要的数据结构如 json数据格式 [{a=1,b=2},{a=2,b=3}] ,再传给
js 变量.当然你可以用 java 的json 工具类(net.sf.json.JSONSerializer)格式化 java.util.HashMap 对象成 json 字符串,再传给 js 变量.
如 :
-------------------------------------------------------------------
<%@ page language="java" import="java.util.*,net.sf.json.*" pageEncoding="UTF-8"%>
<%
Map map = new HashMap();
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(map);
String jsonStr = jsonObject.toString();
%>
<script>
var jsonStr = '<%=jsonStr%>'
</script>
第2个回答 2010-11-09
<%
String str = "hello";
//假设有个String
%>
<script>
//js代码
var str='<%=Str%>';
//注意 这里一定要加上''要不然 没法解释成正确对象
<script>
String str = "hello";
//假设有个String
%>
<script>
//js代码
var str='<%=Str%>';
//注意 这里一定要加上''要不然 没法解释成正确对象
<script>
第3个回答 2010-11-09
<%
Integer Userid=(Integer)session.getAttribute("userid");
String Username=(String)session.getAttribute("username");
%>
<script type="text/javascript">
$(document).ready(function(){
jQuery.ajaxSetup ({cache:false});
getusermenu(<%=Userid %>);
});
</script>
或者
<script type="text/javascript">
var id=<%=Userid %>;
$(document).ready(function(){
jQuery.ajaxSetup ({cache:false});
getusermenu(id);
});
</script>
这只是我们项目中用到的,希望能帮助你!
Integer Userid=(Integer)session.getAttribute("userid");
String Username=(String)session.getAttribute("username");
%>
<script type="text/javascript">
$(document).ready(function(){
jQuery.ajaxSetup ({cache:false});
getusermenu(<%=Userid %>);
});
</script>
或者
<script type="text/javascript">
var id=<%=Userid %>;
$(document).ready(function(){
jQuery.ajaxSetup ({cache:false});
getusermenu(id);
});
</script>
这只是我们项目中用到的,希望能帮助你!
第4个回答 2010-11-09
在js方法里面加参数,把变量做为参数传进去本回答被网友采纳
第5个回答 2015-09-18
var s = <%=JSP中的JAVA变量%>
就行了,不过JAVA声明的List似乎不能在JS里面使用
就行了,不过JAVA声明的List似乎不能在JS里面使用