
不知道你是不是这意思
JSONArray jsonArr=JSONArrayfromObject(list);
Systemoutprintln(jsonArr);
outprint(jsonArr);
// outprint(job);
给你看段代码
<logic:empty name="proList" scope="request">暂时没有此类商品</logic:empty>
<logic:notEmpty name="proList" scope="request">
<logic:iterate id="pro" name="proList" scope="request">
<tr>
<td>
<table width="603" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150" height="135" align="center" background="images/cp001gif" ><img src="manage/product/images/<bean:write name="pro" property="photoAdd"/>" width="140" height="125" /></td>
<td width="15" valign="top"> </td>
<td width="438" valign="top"><table width="438" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="zi_xh"><bean:write name="pro" property="title"/></td>
</tr>
<tr>
<td class="zi_12" height="88" valign="top"><bean:write name="pro" property="content" filter="false"/></td>
</tr>
<tr>
<td class="zi_12" align="right"><a href="productsdomethod=getProducts&proCate=<bean:write name="pro" property="TCProductsCategorycategoryId"/>&proId=<bean:write name="pro" property="id"/>"><img src="images/sy009gif" width="76" height="18" border="0" /></a></td>
</tr>
</table></td>
</tr>
<tr>
<td height="8" colspan="3"></td>
</tr>
</table>
</td>
</tr>
</logic:iterate>
</logic:notEmpty>
是不是不明白?
问题的关键是你要学会struts标签 它提供了很强大的功能其中就包括迭代list 上面的代码就是迭代list 兄弟 还得继续学啊
分析你的逻辑应该如下:
1、查询表1中符合条件的信息,获取一个结果集合1;
2、基于结果集合1循环,检索表2,获取结果集合2。
如此,如果表1、表2间存在直接关联关系(即直接使用结果集合1中的部分信息作为表2查询的条件),那么完全可以在后台将两张表关联查询,这样避免了通过java进行循环,在大数量级情况下会严重占用内存。
如果表1,表2间没有直接的关联关系(即通过循环表1,判断其中条件后按照其它的特定对照值去查询表2),那么仍然建议使用后台表关联查询,及将表1查询的结果集按照不同的条件获取的值转换成对应的映射值后作为一个基准集合,然后将这个集合与表2关联查询即可。具体的sql语句,得根据你使用的数据库和具体场景去编写。
总之,此类情况,完全可以交由数据库搞定,如果使用你现在的逻辑(即查询表1,循环结果集1,然后查询表2,获取结果集2),虽然原则上没有错,但会增加很多内存开销,在大数据量级的情况下,非常容易出现内存溢出的异常,并不作为合理的编码方式。
1、创建项目和数据库的连接,进行配置数据源,设置jdbc路径,用户名,密码,以及最大连接,连接最小空闲等。
2、看数据库jdbc连接的详细配置,driverClassName,jdbc_url,jdbc_username,jdbc_password等。
3、写添加数据到数据库的sql语句,用insertintowms_position()values()语句添加数据。
4、使用dao接口调用sql语句,创建position类,里面含有各个变量。
5、在service逻辑业务层调用dao语句。
6、使用Listlist=newArrayList(),创建一个list集合,使用listadd()方法给list集合添加10,20,30三个值,循环语句,将list集合存储到数据库。
7、打开数据库position表,看到将list数据存储到数据库中。
我用javaBean 写过这样的 也页面 就是从下拉框里选择表名 然后在当前页面输出 你看看
也是动态输出的 一个lib数据库 下面有三个表 分别是 reader book borrow
servlet代码如下
package combean;
import javasql;
public class DataBaseQuery
{
String tableName="";
String result="";
public DataBaseQuery(){
try{
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver");
}catch(Exception e){
eprintStackTrace();
}
}
public String getTableName()
{
return tableName;
}
public void setTableName(String tableName)
{
thistableName = tableName;
}
public String getResult()
{
if(!tableNameequals("")){
Connection con=null;
Statement stm=null;
ResultSet rs=null;
StringBuffer buffer=new StringBuffer();
try{
con=DriverManagergetConnection("jdbc:sqlserver://localhost;databasename=lib;","sa","123456");
stm=concreateStatement();
String cmd="select from "+tableName;
rs=stmexecuteQuery(cmd);
int colNum=rsgetMetaData()getColumnCount();//表格列数
bufferappend("<table border=1 cellpadding=5>");
bufferappend("<tr>");
int i=1;
while(true){
String name=rsgetMetaData()getColumnName(i)toString();
bufferappend("<td>"+name+"</td>");
i++;
if(i>colNum) break;
}
bufferappend("</tr>");
while(rsnext()){
bufferappend("<tr>");
for(i=1;i<=colNum;i++){
bufferappend("<td>"+rsgetString(i)+"</td>");
}
bufferappend("</tr>");
}
bufferappend("</table>");
}catch(Exception e){
eprintStackTrace();
}finally{
try{
if(rs!=null&&stm!=null&&con!=null){
rsclose();
stmclose();
conclose();
}
}catch(Exception e){
eprintStackTrace();
}
}
result=new String(buffer);
}
return result;
}
public void setResult(String result)
{
thisresult = result;
}
}
jsp页面如下
<%@ page language="java" import="javautil,combean" pageEncoding="utf-8"%>
<%
String path = requestgetContextPath();
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'showTablejsp' starting page</title>
<meta >
参考代码及说明如下:
SqlConnection conn = new SqlConnection();connOpen();
SqlTransaction tran = connBeginTransaction();
try
{
foreach()
{
string sql="";
SqlCommand cmd=new SqlCommand(sql,conn,tran);
SqlParameter[] pars=new SqlParameter[]{
new SqlParameter("",value),
}
//cmdParameters的AddRange方法是增加一个参数的数组
cmdParametersAddRange(pars);
//ExecuteNonQuery()是update,delete ,insert影响行数
cmdExecuteNonQuery();
}
tranCommit();
}catch
{
tranRollback();
}
finally
{
connClose();
}
以上就是关于从数据库中获取list集合的数据如何用json进行打印全部的内容,包括:从数据库中获取list集合的数据如何用json进行打印、如何用List显示数据、java 用返回的list去查询数据库,返回list等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)