显示一对多列表

正向的一对多关系,一般只应用在下拉列表中,通过关联来动态生成多级的下拉列表。  后台完成查询全部省份的方法,在页面上加入超连接。  
    
  在Action中完成查询和传递数据的操作。  public class ProvinceAction extends ActionSupport {   private List allProvince;   public String list() throws Exception {   allProvince = ServiceFactory.getIProvinceServiceInstance()。list();  return "list";   }         /pages/province/province_list.jsp         测试时,会提示懒汉式加载异常,因为在页面上才查询城市信息。  为了解决这个问题,可以使用以下两种方法:  1) 不关闭连接(不推荐)  2) 不使用懒汉式,需要在映射文件中修改。     同时,测试时还会发现,顺序会随机改变,这就需要也修改映射文件,设置关联对象的排序顺序。     省份选项还可以改为以下形式   如果是反向多对一的功能,在所有的添加,修改和查询操作中,都会有区别。  这里新建立一张 新闻类型表,同时,在新闻表中加入一个 所属分类的字段。  这样,新闻和新闻类型之间存在一对多关系。  新闻类型是一,新闻是多。  建表语句:  CREATE TABLE news_type (  tid number(8) primary key ,   tname varchar2(50) not null   );  INSERT INTO news_type VALUES (1,'军事');  INSERT INTO news_type VALUES (2,'政治-');  INSERT INTO news_type VALUES (3,'艺术');  INSERT INTO news_type VALUES (4,'文学');  INSERT INTO news_type VALUES (5,'体育');  DROP TABLE news ;   CREATE TABLE news (  id number(8) primary key ,   title varchar2(50) not null,   content varchar2(500) not null,   pub_date date not null,   type_id number(8) not null,   foreign key (type_id) references news_type (tid) on delete cascade   );  COMMIT;   根据表,生成映射,替换原有的News信息  下面完成多对一部分的修改:  添加功能:  由于需要选择所在分类,因此要先编写一个查询全部分类的功能。  public List insertPre() throws Exception {   List allType = null;   try {   allType = DAOFactory.getINewsTypeDAOInstance()。findAll();  } catch (Exception e) {   e.printStackTrace();  throw e;   } finally {   HibernateSessionFactory.closeSession();  }   return allType;   }   这里要注意,由于编写的功能是:新闻管理,因此所有的Service操作都应该写到NewsService中,并没有规定必须在NewsService调用NewsDAO,NewsTypeService里调用NewsTypeDAO,Service与DAO并不是绑定到一起的。  修改超连接。    
  在Action中添加一个insertPre的操作方法:  // 所有新闻分类的信息  private List allType;   public String insertPre() throws Exception {   allType = ServiceFactory.getINewsServiceInstance()。insertPre();  return "insert";   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值