现在有三个表 a b c 进行三表关联 eclipse 3.3.2 struts2.0 hibernate3.0 sprint2.0
使用hibernate 自动生成 表的对应文件 在action中 使用
private List<a> myList1;
private List<b> myList1;
private List<c> myList1;
获得数据库中的数据。 在jsp每次跳转到 页面时 就直接显示数据库中所有相关数据。应该如何实现?
在jsp页面中 使用<s:iterator> 标签 对list 数据进行循环遍历 。
现在获得的数据在页面中显示的时候可能存在对应不上的可能,需要把获得的三个表的数据存放在一个list中 进行遍历 应该如何实现?
如果把获得三个 list 数据 存放在 一个数组中 是
Object[] columnNames = new String[]{"myList1","myList2","myList3"} ; 还是像
Object[] columnNames = new Object[]{myList1,myList2,myList3}; 这样比较的好呢?
另外 在获得数据库所有数据的以后 要按照 条件进行搜索 把搜索出来的结果 也显示在当前的页面 应该如何做?
例如 按照 gender, graduationSchool, subject三个字段进行查询 在jsp页面使用的是 <s:select>标签进行选择查询条件 。
在sql 语句中进行三表关联 按照 gender, graduationSchool, subject字段进行查询 。 在action中 把数据直接获得 返回的是一个 list 型数据 这个数据应该是把结果怎么赋值?
源代码如下 : 请高手给个意见:
Action中部分代码
public List availableItems; @SuppressWarnings("unchecked") public List getAvailableItems() { return availableItems; } @SuppressWarnings("unchecked") public void setAvailableItems(List availableItems) { this.availableItems = availableItems; } @SuppressWarnings("unchecked") public List getavailable(){ //availableItems=cchoiceManager.getCchoice(); HttpServletRequest req=ServletActionContext.getRequest(); HttpSession session = req.getSession(); if(gender==null&&gender==null&&graduationSchool==null) { availableItems=studentManager.getStudent(); }else{ availableItems = (List) session.getAttribute("availableItems"); } return availableItems; }
//搜索
public String search () throws Exception { HttpServletRequest req=ServletActionContext.getRequest(); HttpSession session = req.getSession(); if(gender!=null||graduationSchool!=null ||subject!=null|| "".equals(gender)||"".equals(graduationSchool)||"".equals(subject)){ //方法 List productsList =studentManager.queryProducts(gender, graduationSchool, subject); //queryProducts 这个方法是定义的一个按照条件进行检索的 。 session.setAttribute("availableItems",productsList); } return SUCCESS; }
现在是返回一个productsList 把值赋给了 availableItems 想用 availableItems 这个参数 把abc 三个表的数据都得到
struts.xml
<action name="student" class="jp.panitec.action.StudentAction" method="getavailable"> </action>
jsp
<s:action name="student" id="student"></s:action>
<thead>
<tr>
<th rowspan="2">性别</th>
<th rowspan="2">毕业学校</th>
<th rowspan="2">专业</th>
</tr>
</thead>
<tbody>
<s:iterator value="#student.availableItem">
<th><s:property value="gender"/></th>
<th><s:property value="graduationSchool"/></th>
<th><s:property value="subject"/></th>
</s:iterator>
</tbody>