java类里的数组 如何 赋值给js里数组 js 数组怎么传递给java类 csdn

\u600e\u4e48\u5728js\u4e2d\u628ajava\u6570\u7ec4\u8f6c\u6210js\u6570\u7ec4

Java \u4ee3\u7801\u5982\u4e0b\uff1a
<%
// \u5f97\u5230\u8981\u8f6c\u6362\u7684\u6570\u7ec4---\u5f53\u7136\u8fd9\u91cc\u4e5f\u53ef\u4ee5\u662f\u5176\u4ed6\u7c7b\u578b\u7684\u6570\u7ec4
List jsList = (List) request.getAttribute("gczbh");
%>

JS \u4ee3\u7801\u5982\u4e0b\uff1a





function initPages()
{
var codes = new Array();

// \u5c06JAVA\u4e2d\u7684\u6570\u7ec4\u8f6c\u6362\u6210JS \u7684\u6570\u7ec4
<%
if(jsList!=null)
{
for(int i=0;i<jsList.size();i++)
{
%>
codes[]='';
<% }
}
%>

$scope.logindo = function() {
var uphone = $scope.user.tel;
var pwd = $scope.user.pwd;
var arrays = new Array();//\u5b9a\u4e49\u4e00\u4e2a\u6570\u7ec4
arrays[0] = uphone;//\u5c06\u83b7\u53d6\u7684\u503c\u8d4b\u8fdb\u53bb
arrays[1] = pwd;
$http(
{
method : 'get',
url : '../memquery?params=' + JSON.stringify(arrays)//\u4f7f\u7528json\u4f20\u9012
+ '&opId=10001&cityId=6101'
}).success(function(data) {
alert(JSON.stringify(data));
alert("\u6210\u529f");
}).error(function() {
alert("\u63d0\u4ea4\u5931\u8d25");
});
};

兄弟,这个挺简单的,因为Java6里边引入的脚本支持,其架构本身就很清晰简单,总的说来就那么几个接口和一个工厂实用类。Java的脚本主要有以下三个重要概念:

ScriptEngine:负责编译执行具体的脚本。

ScriptContext:脚本执行的上下文环境。

Bindings:与Java环境之间的参数绑定。

其构架关系,见下图:

对于你的需求,我简单写了一个例子,如下:

String script = "for(i=0;i<names.length;i++){print(names[i]+'\
');}"; //打印数组的JS代码

 //jdk6自带了一个javascript脚本实现,是来自Mozilla的一个开源实现

ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript"); 

Compilable compilable = (Compilable) engine;  //这一步可以省略,某些脚本实现可能不支持

String[] names   = new String[]{"pig","tiger","piger","family"};

Bindings bindings = engine.createBindings(); //Local级别的Binding,Binding分为两种,局部和全局 

bindings.put("names", names); //通过Bindings加入参数

CompiledScript compiledScript = compilable.compile(script); //解析编译脚本 

compiledScript.eval(bindings);  //执行脚本



输出结果:

pig

tiger

piger

family


----说明一下-----

也许你不是这个意思,但依我之见,在java里提到javascript,应该就是指Java的脚本支持。Java本身并没有脚本特性,它只写了一个框框,使用中需要具体的脚本引擎实现。因此,除了JavaScript, 理论上,Java可以支持任何脚本语言,只要有相应的实现。


但如果你指的客户端的JavaScript,即WEB页面上的JS,那就更简单了,只需要在JSP页面上生成相应的JS代码就行了,毕竟JSP最终只是一个Servlet类,用它来生成页面文件的HTML源码,同时,相应的JS代码也是用它来生成的。这个,你懂的。我觉得你的问题应该不是指这个,因为这个实在是太简单了。



在java类中,可以通过一些jar包或者手动写的方法将参数传输到页面中。然后在页面中使用代码块,将java代码的参数接收后复制给js的变量,默认就是数组了。然后按这个数组的长度输出这个数组中的每个元素就行。

js(jsp)二级联动并且将java数组赋值给js

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%@taglib uri="/struts-tags" prefix="s"%>
<%
String [][]str = {{"40000","09401","09402"},{"40001","09403","09404"}};
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>add score</title>

<meta. http-equiv="pragma" content="no-cache">
<meta. http-equiv="cache-control" content="no-cache">
<meta. http-equiv="expires" content="0">
<meta. http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta. http-equiv="description" content="This is my page">

<script. language="javascript">

function select(){
var bj=document.getElementById('class');<!--删除前一次创建的option-->
obj.options.length=0;
var course = document.getElementById("course").value;
alert(course);

<%
for(int i=0;i<str.length;i++){%>
if(course == "<%=str[i][0]%>"){
<%
for(int j=1;j<str[i].length;j++){%>

var ption = document.createElement("option");
oOption.innerHTML = "<%=str[i][j]%>"
oOption.value = "<%=str[i][j]%>"
document.getElementById("class").options.add(oOption);
<%}%>
}
<%}%>

var arr = "<%=str[0][1]%>";
alert(arr);
}
</script>

<script. type="text/javascript">

</script>

</head>

<body id="level1">
<form. action="delete!deleteStudent.action" method="post">
<font size="2px" color="red"><s:property value="#request.sexistError"/></font>
课程:<select id="course" name="course" > <%for(int i=0;i<str.length;i++){ %>
<option nclick="select()"><%=str[i][0]%></option>
<%} %>
</select>

班级:<select id="class" name="cla"> </select>

<div id="score_menu">
<input type="submit" name="submit" class="submit" value="提交"/>
<input type="reset" name="reset" class="reset" value="重置"/><br />

</form>
</body>
</html>

也没什么框架的
很简单的事。
用jsonobject
和jsonArray这两个类就行了

你用的什么框架啊?

扩展阅读:java入门 ... java workbook ... java poi ... java excel ... java继承题目 经典 ... 学java要先学c语言吗 ... java基础知识大全 ... java一维数组 ... arraylist ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网