js的数组可以传到java代码里吗

varids=document.getElementsById("goods");vararr=newArray();for(vara=0;a<ids.length;a+... var ids = document.getElementsById("goods");
var arr = new Array();
for(var a = 0; a < ids.length;a++){
arr[a] = ids[a].value;
}
window.location = "UserAction.do?id='"+arr+"'";
现在想把arr这个数组传到后台接受
可以这样传到后台去吗?
展开
 我来答
志当存高远389
推荐于2016-08-05 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11236 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
这个挺简单的,因为Java6里边引入的脚本支持,其架构本身就很清晰简单,总的说来就那么几个接口和一个工厂实用类。Java的脚本主要有以下三个重要概念:
ScriptEngine:负责编译执行具体的脚本。
ScriptContext:脚本执行的上下文环境。
Bindings:与Java环境之间的参数绑定。
其构架关系,见下图:

对于你的需求,我简单写了一个例子,如下:
String script = "for(i=0;i<names.length;i++){print(names[i]+'\\n');}"; //打印数组的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); //执行脚本

输出结果:<姬法灌盒弑谷鬼贪邯楷br />
pig
tiger
piger
family

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

但如果你指的客户端的JavaScript,即WEB页面上的JS,那就更简单了,只需要在JSP页面上生成相应的JS代码就行了,毕竟JSP最终只是一个Servlet类,用它来生成页面文件的HTML源码,同时,相应的JS代码也是用它来生成的。这个,你懂的。我觉得你的问题应该不是指这个,因为这个实在是太简单了。
追问
大哥。。。我的也是在jsp页面写js代码的,我想问的就是当我点击按钮进到这个函数,在函数里获取到一个id数组,在把这个数组传到Action里。在Action再查数据,把查到的数据显示在另一个页面上,在js代码是不是这样写  window.location = "UserAction.do?id='"+arr+"'";?

在action怎么获取这个数组的数据?因为不太懂,所以请你再指点一下,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式