如何将java List 转换成JavaScript 可以操作的对象。具体看问题补充。
我项目中使用的Struts2框架,在java后台有List类型的questionsOptionsList,意思是问题选项列表。questionsOptionsList包含...
我项目中使用的Struts 2框架,在java后台有List 类型的questionsOptionsList,意思是问题选项列表。questionsOptionsList包含的元素是对象QuestionsOptions(QuestionsOptions本身包含各种属性)。我现在想做的是在jsp页面循环questionsOptionsList,取出其中各个QuestionsOptions的Content属性,然后结合JQuery 赋值给页面标签。思路大致就是这样。
展开
8个回答
展开全部
public void outString(String str) {
try {
getResponse().setContentType("text/json;charset=utf-8");
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
//字符串转换为json
public void outJsonString(String str) {
outString(str);
}
// 对象转换JSON格式
public void outJson(Object obj) {
try {
String json=JSONObject.fromObject(obj).toString();
outJsonString(json);
} catch (Exception e) {
e.printStackTrace();
}
}
// 数组转换JSON格式
public void outJsonArray(Object array) {
try {
outJsonString(JSONArray.fromObject(array).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
后台:List<QuestionsOptions> questionsOptionsList=new ArrayList<QuestionsOptions>() ;
outJsonArray(questionsOptionsList);
jquery 代码:
$.ajax({
url:'questionsOptionsList.action',
type:'post',
data:loadValue, //传给后台的参数
dataType:'json', //返回值类型 一般设置为json
success:function (data, status) //服务器成功响应处理函数
{
showHTML(data);
},
error:function (data, status, e)//服务器响应失败处理函数
{
alert(e);
}
});
function showHTML(data) {
for(var i=0;i<data.length;i++){
alert(data[i].Content);
}
}
try {
getResponse().setContentType("text/json;charset=utf-8");
PrintWriter out = getResponse().getWriter();
out.write(str);
} catch (IOException e) {
}
}
//字符串转换为json
public void outJsonString(String str) {
outString(str);
}
// 对象转换JSON格式
public void outJson(Object obj) {
try {
String json=JSONObject.fromObject(obj).toString();
outJsonString(json);
} catch (Exception e) {
e.printStackTrace();
}
}
// 数组转换JSON格式
public void outJsonArray(Object array) {
try {
outJsonString(JSONArray.fromObject(array).toString());
} catch (Exception e) {
e.printStackTrace();
}
}
后台:List<QuestionsOptions> questionsOptionsList=new ArrayList<QuestionsOptions>() ;
outJsonArray(questionsOptionsList);
jquery 代码:
$.ajax({
url:'questionsOptionsList.action',
type:'post',
data:loadValue, //传给后台的参数
dataType:'json', //返回值类型 一般设置为json
success:function (data, status) //服务器成功响应处理函数
{
showHTML(data);
},
error:function (data, status, e)//服务器响应失败处理函数
{
alert(e);
}
});
function showHTML(data) {
for(var i=0;i<data.length;i++){
alert(data[i].Content);
}
}
展开全部
给你提供个思路
list里面放的是bean,bean的属性有id,name
将list转成json
Object obj = JSONArray.fromObject(list);
obj= "({id:1,name:'a'},{id:2,name:'b'},...)";
将obj传给页面,共js使用了
list里面放的是bean,bean的属性有id,name
将list转成json
Object obj = JSONArray.fromObject(list);
obj= "({id:1,name:'a'},{id:2,name:'b'},...)";
将obj传给页面,共js使用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过JQuery 的 ajax 提交请求后台,后台的questionsOptionsList 通过JSONArray.fromObject(List)转换成字符串,返还给前台,前台就可以直接循环这个列表对象了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后台:JSONArray jsonArray=JSONArray.fromObject(List);
js:$.each(status,function(){alert(comment)};
status:为ajax返回的数据。
js:$.each(status,function(){alert(comment)};
status:为ajax返回的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-06-01
展开全部
封装成JSONArray对象,调用该对象的toSring()方法,或转换成类似json的字符串[{pname0:value0,pname1:pvalue1},{...........},.......]
前台获取字符串
前台获取字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询