怎样将从Action中拿出来的map作为参数传给一个参数为map的js函数呢?

怎样将从Action中拿出来的map作为参数传给一个参数为map的js函数呢?,第1张

不可以,在应用dwr的时候可以是dwr有个转换机制让java类对象和js类对象能够互相转换,这样就能在使用dwr的时候可以把action里的map作为js函数的参数,直接把Java对象传给js是不行的!建议还是用dwr来实现吧!

通过request的getParameter的方法获取
1、通过requestgetParameter("参数名")获取后台的值
2、通过<%=变量%>的方式赋给js变量
示例:
<script>
<%
String s2 = (String)requestgetParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言
%>
var s = '<%=s2%>';//输出s2给js变量s
</script>

在springmvc中controller的结果集可通过json格式传到js前端接受,也可以通过Map传给前端,具体实现如下
1,通过json格式传递
controller层实现如下
@RequestMapping("queryCityInfo")
@ResponseBody
public String queryCityInfo()throws Exception{
String provinceId = getString("id");
@SuppressWarnings("rawtypes")
List cityList = personalServicequeryCity(provinceId);
if(null != cityList && cityListsize() >0 ){
String json = JSONUtilstoJSONString(cityList);
superoutStr(json);
}
return null;
}
protected void outStr(String str)</span>
{
try
{
responsesetCharacterEncoding("UTF-8");
responsegetWriter()write(str);
}
catch (Exception e)
{
}
}
public static <T> String toJSONString(List<T> list)
{
JSONArray jsonArray = JSONArrayfromObject(list);
return jsonArraytoString();
}
js端接受如下
function selectBankCity(id){
$ajax({
url:baseAddress+"queryCityInfodoprovinceId="+id,
type:'get',
dataType:'json',
success:function(data){
$('#custBankArea')empty();
$('#custBankArea')append("<option >--请选择城市信息--</option>");
for(var i=0;i<datalength;i++){
$('#custBankArea')append("<option value='"+scjgcjcomdata[i]id+"'>"+data[i]cityName+"</option>");
}
}
});
}
2,通过Map传递
controller层实现如下
@RequestMapping("queryProvince")
@ResponseBody
public Map<String, Object>  queryProvince(>

1
你可以把map
做成json
因为也是key
和value的关系。在后台作成json格式的一个string
在js里
var
treeJson=<%=jsonString%>;
2
直接在后台写js了。。输出到页面里

js把值传到后台是靠action提交form的时候hidden标签实现的。
比如有个form如下:
<form id="myform" action="queryUserdo" method="post">
<input type="hidden" id="val" name="val"/>
<input type="text" name="userId" name="userId">123456</input>
</form>
当action用js提交的时候:
var myVal=documentgetElementById("userId")value;
documentgetElementById("val")value=myVal;
documentform[0]submit();
这样的话userId这个值就传到后台去了。

一般的做法是将map对象转成json在jsp页面中输出,js直接得到的就是json对象,便利json使用for循环即可
for(k in json){
alert(k + "=" + json[k])
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13385918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存