jsp与javascript之间传值
发布网友
发布时间:2022-04-24 12:23
我来回答
共4个回答
热心网友
时间:2022-04-24 13:53
javascript与jsp之间不存在“传值”的说法。
像@451177500 说的那种,不是传值的概念,而是jsp解析器直接把jsp中的变量输出文本,这段文本在浏览器(客户端)才被认作是js的一部分。而在解析的过程中,jsp没有能力来认定那部分是js。
所以,你在使用这种方式时,要看清程序执行的上下文(context)。
使用Javascript的ajax方式提交数据时,你也无需考虑接收数据的是jsp还是servlet,亦或是asp、php,因为这种提交方式只关注http是post的还是get的。
不要前后端不分。考虑问题时,若将其柔和在一起,会让你很累。
热心网友
时间:2022-04-24 15:11
javascript传给jsp要用ajax,而jsp传给javascript这样就行了
<script type="text/javascript">
var n=<%=n %>;
.....
</script>
那就需要用Ajax.最好是新建个Servlet来处理
Servlet名为:AjaxTest
PrintWriter out = response.getWriter();
String param = request.getParameter("param");//获取js传来的参数,根据参数选择数据
List<List<String>> list = new ArrayList<>();
List<String> l1 = new ArrayList<>();
List<String> l2 = new ArrayList<>();
l1.add("111");
l1.add("222");
l2.add("aaa");
l2.add("bbb");
list.add(l1);
list.add(l2);
JSONArray json = JSONArray.fromObject(list.get(Integer.parseInt(param)));
out.write(json.toString());
JS里的代码
var i=1;
$.getJSON("AjaxTest?param="+i,function(data){
//得到一个数组,用下标取值。
alert(data[0]);
});
热心网友
时间:2022-04-24 16:45
$.ajax({
url:'地址',
type:'POST', //GET
data:{
// 要传过去的数据
name:'yang',
age:25
},
dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
success:function(data,textStatus,jqXHR){
console.log(data)
console.log(textStatus)
console.log(jqXHR)
}
})
已经给了详细的注释了!
热心网友
时间:2022-04-24 18:37
$.post("xxx.jsp",{参数名:参数值},function(){
})