采用Struts架构的Web系统,在跟后台数据库打交道时,一个经常涉及到的基本问题就是,如何充分运用Struts的功能实现查询数据库的结果集的显示。 假如: 1、后台数据库有表Client,三个字段:name,sex,age。 2、基于表Client,有一用户自定义的Java Bean,类名为Client.具体代码略。 如果要在Action中获得结果集,并在转发到的View中显示,而且显示时采用Struts标签。具体实现如下: 1、 在Action 中实现通过对数据库查询获得的结果集存入在ArrayList类型的list中,list中的每一项为对应的一个Client对象。然后 request.setAttribute("clientList", list); 以便在View中取得。 2、在从Action转发到的View的处理。 <logic:present name="clientList" scope="request"> 代码解释:(1)<logic:present />是Struts标签提供进行判断选择的,<logic:present name="clientList" scope="request"> 是用来判断在request域中是否存在clientList;(2)<logic:iterate />用以循环request域中的集合clientList,id表示集合类中每一元素的对象名,scope表示具体的存在域,name表示循环集合的名称,type表示集合中的对象强制转化的类型;(3)<bean:write />是Struts提供的显示标签,其中name对应 <logic:iterate />中的id,property表示集合类中每一对象bean的具体元素。 虽然整体采用Struts框架的前提下在View做显示时依然可以选择Jsp标签,但最好还是用Struts提供的标签,因为Struts标签除了做最基本的显示以外,还可以实现数字、日期的格式化等功能 |
Struts中结果集的显示
最新推荐文章于 2018-10-14 20:03:23 发布