您的位置:首页 > 编程语言 > Java开发

struts2如何取得数据库中的数据并且传到页面

2012-03-31 19:04 288 查看
标签:struts

J2EE
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。/article/4391671.html

方法一:
我们在Dao类中从数据库中取出数据后,放入VO类(与表对应的或是与界面对应的)中,然后一层一层返回给Action的相应VO类。
 例如:
   Dao类我们是这样编写的:
/**

* 遍历所有的管理员

* @return

*/

public List<Ems_Manager_VO> listManager(){

List<Ems_Manager_VO> list = this.getHibernateTemplate).loadAll ( Ems_Manager_VO.class );//从数据库取得数据放入VO类

return list;

}

  Action类我们是这样编写的:

     /*方便页面获取迭代显示*/

private List<Ems_Manager_VO> managerList ;//管理员

/**

* 列出管理员的信息

* @return

*/

public String listManager(){

System.out.println("=====ManagerAction=listManager==============");

List<Ems_Manager_VO> list =调用到Dao的listManager方法;//由于正确的三层架构方式应该是通过调用service层的相应方法得到数据的,这里为了方便,我就直接这样写通过调用Dao类得到数据,而省去了service层。

this.setManagerList( list );//将得到的数据放到Action中的VO类,方便于界面提取

return "listManager";//返回显示界面

}

界面我们这样编写的:
//在界面我们是通过S标签的迭代器取Action类中的VO类的数据的
<s:iterator value="managerList ">//managerList就是Action类中VO对象的集合
<s:property value="idnum"> //这里指集合中的每一个VO对象的属性
.....................
</s:iterator>

方法二:
Dao类写法与方法一没什么变化:
/**

* 取出这个需要修改的管理员的信息
*这里我们返回的是一个单VO类对象,不再是一个VO对象集合

* @return

*/

public Ems_Manager_VO getModifyManagerInfo( String idnum ){

HibernateTemplate hibernate = this.getHibernateTemplate();

Ems_Manager_VO vo = new Ems_Manager_VO();

vo.setIdnum(idnum);

List list = this.getSession().createQuery("from Ems_Manager_VO where idnum='"+idnum +"'").list();

return (Ems_Manager_VO) list.get(0);

}

Action写法出现了变化:
   在这里我们不再手动实例化一个对象去存取从Dao层返回来的数据,而是
把它直接放入request中。
Ems_Manager_VO vo =调用Dao层的getModifyManagerInfo方法;

request.setAttribute("managerVO", vo);

 界面的写法随着Action写法自然也出现了变化:
    //界面直接通过S标签的property加ognl表达式输出VO对象中的值
   <s:property value='#request.managerVO.idnum'/>//直接用vo对象加属性输出

小知识:
  如果在request或session中直接加入了String类型的数据。可用<s:property value='#request或session.参数名'/>在页面直接输出
  

本文出自 “Enthusiasm 10Y/Band Four” 博客,请务必保留此出处/article/4391671.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐