商品列表中显示类别名称而不是类别ID
商品表中的字段包裹商品信息和categoryid
若要在商品列表中显示出categoryname,有两种做法:
第一种做法:
拿到categoryid后再跟数据库连接一下,然后拿出categoryname
<td><%=Category.loadById(p.getCategoryId()).getName() %></td>
此种做法连接了两次数据库,效率较低。
第二种做法:
前提:两个对象之间有关联关系,在从数据库中取一个对象时,将与其关联的所有对象都取出来
在Product.java中有Category c;对象,在从数据库中取product时同时将c初始化了
DAO的getProducts方法中:
........
String sql = "select product.id, product.name, product.descr, product.normalprice, product.memberprice, product.pdate, product.categoryid, " +
"category.id cid, category.name cname, category.descr cdescr, category.pid, category.isleaf, category.grade" +
" from product join category on(product.categoryid = category.id) limit " + (pageNo-1)*pageSize + "," + pageSize;
........
Category c = new Category();
c.setId(rs.getInt("cid"));
c.setName(rs.getString("cname"));
c.setDescr(rs.getString("cdescr"));
c.setLeaf(rs.getInt("isleaf") == 1 ? true : false);
c.setGrade(rs.getInt("grade"));
p.setC(c);
products.add(p);
........
JSP中的设计
<td><%=p.getC().getName() %></td>
这种做法比较麻烦,有的时候只想要Product的数据并不想要Category的数据。
解决方法:
1.编写两个方法,一个只取Product,一个取Product和Category。
2.编写一个方法,里面添加一个参数boolean lazy若lazy为true则只取Product的数据,若lazy为false则取Product的数据和所有相关联的对象的数据
商品列表中显示类别名称而不是类别ID的更多相关文章
- IM 融云 之 列表中显示聊天用户名称
现在发现,聊天列表中,用户名称没有显示出来.
- 修改ECSHOP后台的商品列表里显示该商品品牌
如何在在ECSHOP后台的商品列表中也显示商品的品牌”.下面就来最模板讲一下如何来修改.此方法只保证在ECSHOP2.7.2版本下有效,其他版本请参照修改. 第一步:首先我们来打开程序文件: /adm ...
- 在ECSHOP后台的订单列表中显示配送方式
熟悉ECSHOP后台的人都知道,只有点击某个具体的订单,进入订单详细页面才能看到该订单的配送方式,最模板修改的目的,是想让管理者在订单列表页面 就能看到该订单的配送方式. 下面是修改方法:首先来修改 ...
- Android怎样改动app不在多任务列表中显示
在实际开发中,我们希望某些activity或者应用程序不在多任务列表中显示,即长按Home键或者多任务button键不显示近期执行的程序,我们能够在对应应用程序的AndroidManifest.xml ...
- 利用mybatis的分页插件实现商品列表的显示
分析思路: 当我们点击查询商品的时候,会出现商品的列表,并按上下页可以实现分页的查询的功能. 首先首先我们先找到商品查询商品的按钮在jsp的那个页面,即首页index.jsp 这里有个url即显示商品 ...
- 【Excle数据透视】如何在数据透视表字段列表中显示更多的字段
创建完数据透视表之后,由于字段太多,在列表中没有完全显示 解决方案 通过"字段节和区域节并排"功能来显示更多字段 修改后结果 字段已经完全显示出来了! "字段节和区域节层 ...
- IE浏览器直接在页面中显示7z文件而不是下载问题解决
IE浏览器中输入7z文件的完整下载URL后,不是保存文件,而是直接在页面中显示(当然是乱码) 这是因为浏览器对不同的资源文件处理的方式不同,例如图片文件,一般会直接打开,所以我们可以不用7z,使用zi ...
- iOS App让自己的应用在其它应用中打开列表中显示
像百度网盘等应用,里面的文件打开时,都能够通过以下应用再打开文件.以下红色框框内的我的jpg就是我做的一个样例. 由于样例没有提供Icon,所以显示的是默认icon. 以下就是这样例的主要步骤和代 ...
- web中显示中文名称的图片,可以这样配置filter
com.cy.filter.UrlFilter: package com.cy.filter; import java.io.IOException; import java.net.URLDecod ...
随机推荐
- Android SQLite的使用1(非原创)
1.继承SQLiteOpenHelper :public class MyOpenHelper extends SQLiteOpenHelper {} 2.重写下面3个方法 package com.e ...
- 基本的 html 代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- hdu2393Higher Math
Problem Description You are building a house. You’d prefer if all the walls have a precise right ang ...
- @Override报错的解决方法
有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多. 这是jdk的问题,@ ...
- CSS display:table属性用法- 轻松实现了三栏等高布局
display:table:此元素会作为块级表格来显示(类似 <table>); display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以 ...
- Python即时网络爬虫:API说明
API说明——下载gsExtractor内容提取器 1,接口名称 下载内容提取器 2,接口说明 如果您想编写一个网络爬虫程序,您会发现大部分时间耗费在调测网页内容提取规则上,不讲正则表达式的语法如何怪 ...
- 关于521(nyoj)
关于521 点击这里 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去. 浏览网页的流年忽然看到了网上有 ...
- CodeForces 214B Hometask
本题求n个数组成的大数,要求是2,3,5的倍数. 因为是2 和5 的倍数,所以个位为 0:所以若n个数中没有0,直接输出-1: 难点就是要求为3 的倍数. 因为若某个数为3的倍数,则其各位数的和必然是 ...
- PHP设计模式之装饰器模式
装饰器模式:如果已有对象的部分内容或功能性发生改变,但是不需要修改原始对象的结构或不使用继承,动态的扩展一个对象的功能,则应该使用装饰器模式.简单点说:就是我们不应该去修改已有的类,而是通过创建另外一 ...
- android的edittext输入长度
http://blog.csdn.net/uyu2yiyi/article/details/6329738 http://flysnow.iteye.com/blog/828415/ http://s ...