现在有三个表 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>