本人是新手,可能是提问题,并没有提供全面的信息,如果需要的话,请提出,我会完善的!
首先,我使用的是hibernate+struts
首先我从数据库提取数据如下:
在.JSP中
<%
int emp_id=(Integer)session.getAttribute("emp_id");
IoGoodsBs iobs= new IoGoodsBs();
List list= null;
int ioless=1;
list=iobs.queryIoGoodsByIoless(emp_id,ioless);
int size=list.size();
String[][] li= new String[size][2];
for(int i=0;i<list.size();i++)
{
IoGoods iogs=(IoGoods)list.get(i);
li[i][0]=iogs.getGoodsname();
li[i][1]=String.valueOf(iogs.getQuantity()); // iogs.getQuantity()是INT 类型的.
}
%>
本人想将 li 这个二维数组传值进下面的JS中的, myDate中,请问,应该怎么做.才能让我取得的二维数组li同JS中myDate一样.
JS如下:
感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
把这部分代码改掉
用List
[color=red]List li = new ArrayList();
for(int i=0;i<list.size();i++)
{
IoGoods iogs=(IoGoods)list.get(i);
List temp = new ArrayList();
temp.add(iogs.getGoodsname());
temp.add(iogs.getQuantity());
li.add(temp);
}[/color]
用json是一个不错的选择,可以看一下json的格式后台传过来就行了!
1、首先将你的2维数组放到request的中如:reqeust.setAttribute("result",li);
2、在jsp页面中从request中取出,如下:
<%
String[][] result = (String[][])request.getAttribute("result");
%>
[code="javascript"]
var myData = new Array();
<%for(int i=0;i
myData[<%=i%>][0] = <%=result[i][0]%>;
myData[<%=i%>][1] = <%=result[i][1]%>;
<%}%>
[/code]
这样就可以给你的js的二维数组赋值了。
这个就是把java中的数组转换成json字符串传给js就能解析,
看看这个工具框架,java 和 json之间的转换
把这个包下载下来加到工程。地址:http://sourceforge.net/projects/stringtree
在.JSP中
jsp中导入 import org.stringtree.json.JSONWriter;
<%
int emp_id=(Integer)session.getAttribute("emp_id");
IoGoodsBs iobs= new IoGoodsBs();
List list= null;
int ioless=1;
list=iobs.queryIoGoodsByIoless(emp_id,ioless);
int size=list.size();
String[][] li= new String[size][2];
for(int i=0;i<list.size();i++)
{
IoGoods iogs=(IoGoods)list.get(i);
li[i][0]=iogs.getGoodsname();
li[i][1]=String.valueOf(iogs.getQuantity()); // iogs.getQuantity()是INT 类型的.
}
JSONWriter writer = new JSONWriter();
String jsonStr = writer.write(li);
%>
本人想将 li 这个二维数组传值进下面的JS中的, myDate中,请问,应该怎么做.才能让我取得的二维数组li同JS中myDate一样.
JS如下: